1- 列举几个常见的浏览器兼容问题:
获取元素样式
滚动条
网页可视区
事件对象兼容
阻止事件冒泡兼容
阻止默认行为兼容
2- js 中给元素注册事件的方法:
在HTML中,使用onclick属性
在js中,使用onclick属性
在js中,使用addEvenListener()方法
3- js 中给元素的移除事件的方法:
removeEventListener();
unbind()
4- 阻止冒泡的方法:
<div class="box"> <button class="btn">按钮</button> </div> <script type="text/javascript"> $('.btn').click(function () { alert('按钮被点击了') }); $('.box').click(function () { alert('box被点击了') }) </script>
当点击按钮后,因为按钮也属于.box元素,所以按钮的父元素.box也会触发点击事件,出现弹框
阻止冒泡方法:
(1) event.stopPropagation()
$('.btn').click(function (even) { even.stopPropagation(); alert('按钮被点击了'); })
(2) event.preventDefault()方法
$('.btn').click(function (even) { even.preventDefault(); alert('按钮被点击了'); })
(3 ) return false
$('.btn').click(function (even) { alert('按钮被点击了'); return false; })
5- 阻止默认行为的方法:
var el = window.document.getElementById("a"); el.onclick = function (e) { //如果提供了事件对象,则这是一个非IE浏览器 if (e && e.preventDefault) { //阻止默认浏览器动作(W3C) e.preventDefault(); } else { //IE中阻止函数器默认动作的方式 window.event.returnValue = false; return false; } }