阻止事件冒泡和浏览器的默认行为

僤鯓⒐⒋嵵緔 提交于 2019-12-06 06:21:58

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();
}



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!