5.事件的传播机制

2019-10-28  本文已影响0人  追马的时间种草

上一篇:事件的默认行为及阻止


事件的传播机制

第一阶段:捕获阶段

点击inner的时候,首先会从最外层开始向内查找(找到操作的事件源),查找的目的是,构建出冒泡传播阶段需要传播的路线(查找就是按照HTML层级结构找的)

1569479368858.png

第二阶段: 目标阶段

把事件源的相关操作行为触发(如果绑定了方法付,则把方法执行)

1569479584813.png

第三阶段: 冒泡传播

按照捕获阶段规划的路线,自内而外,把当前事件源的祖先元素的相关事件行为依次触发

1569480632949.png

以上XXX.onXXX=function(){},都是DOM0级事件绑定,给元素事件行为绑定方法,这些都是在当前元事件行为的冒泡阶段(或目标阶段)执行的。

XXX.addEncentListenr(‘xxx’,function(){},false),DOM2级之间绑定,第三个参数FALSE也是控制绑定的方法在冒泡阶段(或目标阶段)执行;只有第三个参数为TRUE时才代表让当前方法在事件传播的捕获阶段触发执行(捕获阶段执行一般不用)。

    document.onclick=function (ev) {
        console.log(ev)
        console.log("window");
    }
    document.documentElement.onclick=function (ve) {
         console.log(ev)
        console.log("html");
    }
    document.body.onclick=function (ev) {
         console.log(ev)
        console.log("body");
    }
    outer.onclick=function (ev) {
         console.log(ev)
        console.log("outer");
    }
    inner.onclick=function (ev) {
         console.log(ev)
        console.log("inner");
    }
控制台输出g
上一篇 下一篇

猜你喜欢

热点阅读