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; } }