JavaScript----addEventListener和removeEventListener详解

addEventListener() ,removeEventListener()均为事件绑定操作,一个增加事件绑定,一个是移除事件绑定。

addEventListener(),用于向元素增加绑定事件,removeEventListener()用于向 元素移除绑定事件。

语法说明:

element.addEventListener(event,fn,useCaption ); 
参数说明:event,比如 click mouseenter mouseleave 
                  fn 回调函数 

                  useCaption 用于描述是冒泡还是捕获。默认值是false,即冒泡传递,当值为true,就是捕获传递。 

实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <button id = "btn-add">添加</button>
    <button id = "btn-remove">删除添加按钮的mouseover事件</button>
    <script type="text/javascript">
    /*
        W3C  事件绑定。
        addEventListener(事件名称,事件处理函数,false)
        removeEventListener(事件名称,事件处理函数,false)
        注意:事件处理函数,一定要是一个函数。
        比如:removeEventListener这个函数要写在function(){}里面.
        
    */
    var btnadd = document.getElementById('btn-add');
    var btnremove = document.getElementById('btn-remove');

    btnadd.addEventListener("click",function(){
        alert('dsafasdf')
        },false);

    btnadd.addEventListener('mouseover',show,false);




    btnremove.addEventListener("click",function(){
        //给btnremove的click事件添加btnadd的撤销mouseover事件。
        btnadd.removeEventListener("mouseover",show,false);
    },false)

    function show(){
        console.log('hello');
    }

    </script>
</body>
</html>
注意:removeEventListener() 不能移除匿名函数,只能使用有名字的参数,例如上面的show().

猜你喜欢

转载自blog.csdn.net/yufanhui/article/details/81037953