js-addEventListener()第三个参数useCapture

概述:

  第3个参数叫做useCapture,是一个boolean值,就是true or false 。如果送出true的话就是浏览器会使用Capture方式,false的话是Bubbling,只有在特定状况下才会有影响,通常建议是false,而会有影响的情形是目标元素(target element)有祖先元素(ancestor element),而且也有同样的事件对应函数

html片段

    < div id =“ div1” style =“背景:蓝色;宽度:100px;高度:100px;” > 
        < div id =“ div2” style =“ background:red; width:70px; height:70px;” > 
            < div id =“ div3” style =“背景:黄色;宽度:50像素;高度:50像素;” > </ div > 
        </ div > 
    </ div >

js代码

复制代码
var oDvi1 = document.getElementById('div1' ),
    oDvi2 = document.getElementById('div2' ),
    oDvi3 = document.getElementById('div3' );


// 
123- > 456- > 345 oDvi1.addEventListener('click',xx1,true );
oDvi2.addEventListener( 'click',xx2,false );
oDvi3.addEventListener( 'click',xx3,true );


function xx1(){ //
    alert(123);
}

function xx2(){ //
    alert(345);
}

function xx3(){//
    alert(456);
}
复制代码

总结:

  在div3上触发点击事件

  捕获阶段: 外-》里 * 在div1处检测 useCapture 是否为true,是则执行程序, div2同理 .

  目标阶段: 目标到div3处,发现div3就是鼠标点击的节点, 所以这里是目标阶段。若有事件处理程序,则执行该程序,这里不论 useCapture 为 true 还是 false。

  冒泡阶段: 里-》外  在div2处检测useCapture 是否为false, 是则执行该程序 . div1同理 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值