• js事件冒泡和事件捕捉


    结论:他们是描述事件触发时序问题的术语。事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。相反的,事件冒泡是自下而上的去触发事件。绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获。true,事件捕获;false,事件冒泡。默认false,即事件冒泡。Jquery的e.stopPropagation会阻止冒泡,意思就是到我为止,我的爹和祖宗的事件就不要触发了。

    这是HTML结构

     
    <div id="parent">
      <div id="child" class="child"></div>
    </div>

    现在我们给它们绑定上事件

                document.getElementById("parent").addEventListener("click",function(e){
                    alert("parent事件被触发,"+this.id);
                })
                document.getElementById("child").addEventListener("click",function(e){
                    alert("child事件被触发,"+this.id)
                })

    结果:

    child事件被触发,child
    parent事件被触发,parent

    结论:先child,然后parent。事件的触发顺序自内向外,这就是事件冒泡。

    现在改变第三个参数的值为true

           document.getElementById("parent").addEventListener("click",function(e){
                    alert("parent事件被触发,"+e.target.id);
                },true)
                document.getElementById("child").addEventListener("click",function(e){
                    alert("child事件被触发,"+e.target.id)
                },true)

    结果:

    parent事件被触发,parent
    child事件被触发,child

    结论:先parent,然后child。事件触发顺序变更为自外向内,这就是事件捕获。

  • 相关阅读:
    [从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)
    Oracle同义词总结
    Jquery定义对象( 闭包)
    jQuery基础总结
    jquery技巧总结
    C# 委托 事件
    OOP面向对象
    DNS服务器 和CDN
    反向代理服务器的工作原理
    c# EF code First生成数据库以及表
  • 原文地址:https://www.cnblogs.com/-rainbow-/p/9411407.html
Copyright © 2020-2023  润新知