阻止事件冒泡和浏览器的默认行为
阻止事件冒泡和浏览器的默认行为
JellyFlower 发表于3年前
阻止事件冒泡和浏览器的默认行为
  • 发表于 3年前
  • 阅读 539
  • 收藏 10
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

javascript

1.阻止事件冒泡,使成为捕获型事件触发机制.

function stopBubble(e) { 
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation ) 
 //因此它支持W3C的stopPropagation()方法 
 e.stopPropagation();
 else
    //否则,我们需要使用IE的方式来取消事件冒泡 
    window.event.cancelBubble = true;
  }

2.当按键后,不希望按键继续传递给如HTML文本框对象时,可以取消返回值.即停止默认事件默认行为.

//阻止浏览器的默认行为 
function stopDefault( e ) { 
    //阻止默认浏览器动作(W3C) 
    if ( e && e.preventDefault ) 
        e.preventDefault(); 
    //IE中阻止函数器默认动作的方式 
    else
        window.event.returnValue = false; 
    return false; 
 }

jQUERY

jQuery事件中

return false等效于同时调用e.preventDefault()和e.stopPropagation()

 即除了阻止默认行为之外,还会阻止事件冒泡。如果手上有一份jquery源代码的话,可查看其中有如下代码:

if (ret===false){
  event.preventDefault();
  event.stopPropagation();
}



共有 人打赏支持
粉丝 12
博文 27
码字总数 17068
×
JellyFlower
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: