在javascript中如何取消事件冒泡

  如果在javascript中只希望事件发生在它的目标而不是在它的父元素上,即取消它的冒泡事件的发生,该如何做?因为按照javascript发生事件的顺序,它由两个阶段:分别从根元素--父元素--目标元素(捕获阶段),再到父元素--根元素(冒泡阶段)。

  IE浏览器和其他浏览器提供了不同的方式来取消事件冒泡行为。下列函数提供了两种方式取消事件冒泡:标准的W3C方式和非标准的IE方式。

1 function stopBubble(e){
2    //如果传入事件对象且支持W3C的stopPropagation的用法        
3     if(e && e.stopPropagation){
4         //即为非IE浏览器
5         e.stopPropagation();
6     }else{
7         //IE方式取消事件冒泡    
8         window.event.cancelBubble=true;
9  }

 

 

posted @ 2013-09-15 23:27  潜梦  阅读(2059)  评论(0编辑  收藏  举报