JavaScript-事件讲解(下)

事件冒泡:

从里往外逐个触发, 事件捕获, 是从外往里逐个触发. 现代的浏览器默认情况下都是事件冒泡的模式。

在触发事件时候 会一层一层向上冒泡 (他同时会触发父类的事件)

阻止事件冒泡 :意思就是阻止事件的向上传递(stopPropagation)

stopPropagation 这个方法可以阻止事件冒泡,且他遵从w3c规则 (兼容各大浏览器 ie9之前不兼容)

ie浏览器的阻止事件冒泡 利用了一个属性 ,cancelBubble 设置为true 他也兼容各大浏览器(不遵从w3c规范 未来这个属性可能没有用)

btn.onclick = function(e){
    //得到事件源对象
    e = e || window.event
    //阻止事件向上冒泡
    e.stopPropagation()
    e.cancelBubble = true //取消冒泡 不建议写这种
    if(e.stopPropagation){  //如果浏览器可以使用
        e.stopPropagation()    //就是用这个
    }else{
        e.cancelBubble = true  //如果不能使用就使用这个
}

默认事件

阻止默认事件:( return false ) 遵从w3c但是ie9浏览器之前不支持(常用的)

阻止默认事件:( e.preventDefault() )针对低版本浏览器

document.getElementByTagName('a')[0].onclick = function(e){
    console.log('点击了')
 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值