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