• js的事件冒泡,事件捕获


     

    addEventListener() 方法可以指定 "useCapture" 参数来设置传递事件类型:false→冒泡       true→捕获       默认false。

    内部元素为p标签,外部元素为div标签,实验效果图如下:

    在 冒泡 中,内部元素的事件会先被触发,然后再触发外部元素,顺序:内部==>外部

    css:
    .whb100{ 100px;height: 100px;border:1px dotted red}
    .whb200{ 200px;height: 200px;border:1px dotted #2ea6df}
    .center{margin-left: 25%;margin-top: 25%;}
    html:
    <div  class="whb200 useCaptureFalse" id="">
          <p  class="whb100 center useCaptureFalse2"></p>
    </div>
    js:
    var useCaptureFalse=document.querySelector(".useCaptureFalse")
    var useCaptureFalse2=document.querySelector(".useCaptureFalse2")
    useCaptureFalse2.addEventListener("click", function() {
        alert(" 你点击了 p 元素 !");
    }, false);
    useCaptureFalse.addEventListener("click", function(event) {
        alert("你点击了 div 元素!");
        console.log(event)
    }, false);
    

    在 捕获 中,外部元素的事件会先被触发,然后再触发内外部元素,顺序:外部==>内部

    css:
    .whb100{ 100px;height: 100px;border:1px dotted red}
    .whb200{ 200px;height: 200px;border:1px dotted #2ea6df}
    .center{margin-left: 25%;margin-top: 25%;}
    html:
    <div  class="whb200 useCaptureFalse" id="">
          <p  class="whb100 center useCaptureFalse2"></p>
    </div>
    js:
    var useCaptureFalse=document.querySelector(".useCaptureFalse")
    var useCaptureFalse2=document.querySelector(".useCaptureFalse2")
    useCaptureFalse2.addEventListener("click", function() {
        alert(" 你点击了 p2 元素 !");
    }, false);
    useCaptureFalse.addEventListener("click", function(event) {
        alert("你点击了 div2 元素!");
        console.log(event)
    }, false);
    

     

  • 相关阅读:
    Linux curl命令详解
    drools 7 日期时间段校验
    java程序员常用查询和学习的网站
    springboot+mybatis+分页插件的使用
    Vue. 之 替换 左上角 title标签处的图标
    Github访问速度很慢的原因,以及解决方法
    vue插件总结——总有你能用上的插件
    在Java中如何高效的判断数组中是否包含某个元素
    解决vue刷新页面以后丢失store的数据
    vue路由跳转时组件data数据刷新
  • 原文地址:https://www.cnblogs.com/naturl/p/9604695.html
Copyright © 2020-2023  润新知