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

    }

}

 
posted @ 2017-09-26 10:35  kathy+  阅读(1169)  评论(0编辑  收藏  举报