addEventListener() 关于第三个参数

addEventListener() 事件监听
removeEventListener() 移除事件监听


语法

element.addEventListener(event, function, useCapture);
  • 第一个参数是事件的类型 (如 “click” ).

  • 第二个参数是事件触发后调用的函数

  • 第三个参数是个布尔值。默认是false(冒泡阶段执行)true(捕获阶段产生)


事件传递有两种方式:冒泡与捕获。事件是先捕获再冒泡的

  • 冒泡阶段,内部元素的事件会先被触发,然后再触发外部元素。即: p 元素的点击事件先触发,然后会触发 div 元素的点击事件。
  • 捕获阶段,外部元素的事件会先被触发,然后才会触发内部元素的事件。即: div元素的点击事件先触发 ,然后再触发 p元素的点击事件。
 <div>
     <p>some text... ...</p>
 </div>
 <script>
     var ele = document.querySelector('p');

     ele.addEventListener('click', function(e) {
        console.log(11, e);
    }, true); //捕获先执行

    ele.addEventListener('click', function(e) {
        console.log(22,e);
    }, false);  //冒泡
 </script>

猜你喜欢

转载自blog.csdn.net/zhangjing0320/article/details/80751622