javascript 阻止冒泡和浏览器的默认行为

在使用javascript编程时会遇到一个问题,就是当你给html添加事件时,由于浏览器默认的为冒泡型事件触发机制,所以会触发你不想触发的事件.那么通过如下的函数可以解决这个问题。

1 function stopBubble(e) {
2 //如果提供了事件对象,则这是一个非IE浏览器
3 if ( e && e.stopPropagation )
4     //因此它支持W3C的stopPropagation()方法
5     e.stopPropagation();
6 else
7     //否则,我们需要使用IE的方式来取消事件冒泡
8     window.event.cancelBubble = true;
9 }

2.当按键后或者点击一个链接后,不希望按键或者链接执行时,可以取消返回值.即停止默认事件默认行为

 1 //阻止浏览器的默认行为
 2 function stopDefault( e ) {
 3     //阻止默认浏览器动作(W3C)
 4     if ( e && e.preventDefault )
 5         e.preventDefault();
 6     //IE中阻止函数器默认动作的方式
 7     else
 8         window.event.returnValue = false;
 9     return false;
10 }

 示例 : 点击页面的任何URL链接 不跳转。

1 var links=document.getElementsByTagName('a');
2 for(var i=0;i<links.length;i++){
3     links[i].onlick=function(e){
4          alert('我不跳转,点我也没用');
5          stopDefault(e)
6     }
7 }
posted @ 2013-03-08 09:43  大胡子老爹  阅读(189)  评论(0编辑  收藏  举报