zoukankan      html  css  js  c++  java
  • js中addEventListener中第3个参数

    <div id="id1" style="200px; height:200px; position:absolute; top:100px; left:100px; background-color:blue; z-index:4">
          <div id="id2" style="200px; height:200px; position:absolute; top:20px; left:70px; background-color:green; z-index:1"></div>
      </div>
    

     addEventListener中的第三个参 数是useCapture, 一个bool类型。当为false时为冒泡获取(由里向外),true为capture方式(由外向里)。

    document.getElementById('id1').addEventListener('click', function() { console.log('id1');}, false);
    
    document.getElementById('id2').addEventListener('click', function() { console.log('id2');}, false);
    

     点击id2的div结果是: id2, id1

    document.getElementById('id1').addEventListener('click', function() { console.log('id1');}, false);
    
    document.getElementById('id2').addEventListener('click', function() { console.log('id2');}, true);
    

     结果是:id1,id2

    DOM方法 addEventListener() 和 removeEventListener()是用来分配和删除事件的函数。 这两个方法都需要三个参数,分别为:

    事件名称(String)、要触发的事件处理函数(Function)、指定事件处理函数的时期或阶段(boolean)。

    DOM事件流如图(剪自javascript高级程序设计):

    由图可知捕获过程要先于冒泡过程

    当第三个参数设置为true就在捕获过程中执行,反之就在冒泡过程中执行处理函数。

  • 相关阅读:
    matlab中 数据保留有效位数
    matlab的m程序转执行文件exe
    MFC创建好的对话框如何移植到新程序中
    STM32 ADC转换时间
    MFC修改窗口无标题和标题信息,修改执执行文件图标
    兔子慢的原因
    core2.1独立布署,报错的原因。
    修复安卓的bug
    2018-11-21 ko.pureComputed的使用
    2018-11-17 js的this引起的血案
  • 原文地址:https://www.cnblogs.com/sntetwt/p/3836948.html
Copyright © 2011-2022 走看看