如何阻止事件冒泡和默认事件

一、冒泡事件

我们都知道冒泡就像水底气泡浮到水面这一过程。冒泡事件即是事件从最底层逐个经过上面一级级事件的过程,就是冒泡事件。那么如何有效的阻止冒泡事件的发生?其实在非IE浏览器中提供了一个事件对象 stopPropagation,那么在IE浏览器中有没有一个对象去阻止冒泡事件呢,答案是肯定的,通过cancelBubble事件对象可以阻止。

二、默认事件

浏览器的默认事件就是浏览器自己的行为,比如我们在点击<a href="#">的时候,浏览器跳转到指定页面。还有,当我们滚动鼠标时页面会向下滚动,但我们按空格键和按方向键时页面也会向下滚动,为了更好的用户体验,这时我们就需要阻止这种行为的发生。


代码如下:

[javascript]  view plain  copy
  1. // 阻止事件冒泡  
[javascript]  view plain  copy
  1. function stopBubble(e) {  
  2.   if(e && e.stopPropagation){  
  3.       e.stopPropagation();  
  4.   } else {  
  5.     window.event.cancelBubble = true;  
  6.   }  
  7. };  
  8. // 阻止浏览器的默认事件  
  9. function stopDefault(e){  
  10.   if(e && e.preventDefault) {  
  11.     e.preventDefault();  
  12.   } else {  
  13.     window.event.returnValue = false;  
  14.   }  
  15.   return false;  
  16. };  

猜你喜欢

转载自blog.csdn.net/qq_empire/article/details/80529276