js阻止冒泡和取消事件的默认行为
1..停止事件冒泡
JavaScript代码
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation )
//因此它支持W3C的stopPropagation()方法
e.stopPropagation();
else
//否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
return false;
2.阻止浏览器的默认行为
JavaScript代码
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.preventDefault )
//阻止默认浏览器动作(W3C)
e.preventDefault();
else
//IE中阻止函数器默认动作的方式
window.event.returnValue = false;
return false;
书上封装了一个函数
function cancelHandler(event){
var event=event || window.event //后者用于判断IE
if(event.preventDefault)event.preventDefault() //标准技术
if(event.returnValue)event.returnValue() //用于IE
return false
}
阻止事件冒泡
function stopPropagation(e){
e=window.event||e;
if(window.event){ //只有ie识别
e.cancelBubble=true;
}else{
e.stopPropagation();
}
}
不积跬步无以至千里,不积小流无以成江海