阻止冒泡和取消默认事件(默认行为)
1.阻止冒泡
function stopBubble(e) {
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation ) {
//因此它支持W3C的stopPropagation()方法
e.stopPropagation();
}else{
//否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}
}
当Event 对象的 cancelable为false时,表示没有默认行为,这时即使有默认行为,调用preventDefault也是不会起作用
2.取消默认事件(默认行为)
//阻止浏览器的默认行为
function stopDefault( e ) {
//阻止默认浏览器动作(W3C)
if ( e && e.preventDefault ) {
e.preventDefault();
}else{
window.event.returnValue = false;
}
return false;
}
w3c的方法是e.preventDefault(),IE则是使用e.returnValue = false;
3.return false
jq 下:既阻止默认行为又停止冒泡 return false
js 原生: 阻止默认行为 不会停止冒泡

浙公网安备 33010602011771号