15

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

 

原文地址:https://www.cnblogs.com/xuexiaotian/p/14494490.html