js阻止事件冒泡和取消默认事件
取消默认事件w3c的方法e.preventDefault();阻止事件默认行为,如阻止点击提交按钮时的表单提交IE则是使用e.returnValue=false;阻止事件冒
取消默认事件
w3c的方法 e.preventDefault(); 阻止事件默认行为,如阻止点击提交按钮时的表单提交
IE则是使用e.returnValue = false;
阻止事件冒泡
w3c的方法 e.stopPropagation();
IE则使用 e.cancelBubble = true;
jQuery event.stopImmediatePropagation();方法阻止剩下的事件处理程序被执行。
该方法阻止事件在 DOM 树中向上冒泡。
阻止冒泡:
window.event? window.event.cancelBubble = true : e.stopPropagation();
return false
javascript的return false只会阻止默认行为,
jq 既能阻止默认行为,又防止对象冒泡
不支持冒泡的事件:
resize
scroll
focus
blur
mouseenter
mouseleave
load
unload
总结使用方法:
//阻止浏览器的默认行为
function stopDefault( e ) {
//阻止默认浏览器动作(W3C)
if ( e && e.preventDefault ){
e.preventDefault();
//IE中阻止函数器默认动作的方式
} else {
window.event.returnValue = false;
return false;
}
}
//阻止冒泡行为
function stopBubble(e) {
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation ) {
//因此它支持W3C的stopPropagation()方法
e.stopPropagation();
}else {
//否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}
}
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~