你的位置:首页 > Java教程

[Java教程]原生js阻止事件冒泡代码实例


原生js阻止事件冒泡代码实例:
关于什么是事件冒泡这里就不多介绍了,可以参阅javascript事件冒泡简单介绍一章节,任何现象都是双刃剑,有时候利用事件冒泡能够带来便利性,但是有时候也会带来不便,下面就通过带来实例介绍一下如何阻止事件冒泡现象。
代码实例如下:

 

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>蚂蚁部落</title><script type="text/javascript">window.onload=function(){ var bt=document.getElementById("bt"); var main=document.getElementById("main"); bt.onclick=function(){alert("按钮事件触发了!");} main.onclick=function(){alert("div事件触发了!");}}</script></head>[/size][size=2]<body><div id="main"> <input type="button" id="bt" value="查看效果"/></div></body></html>

 

以上代码点击按钮会触发注册在它本身的事件,也通过会将事件传递给他的父元素,代码修改如下:

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>蚂蚁部落</title><script type="text/javascript">function stopBubble(e){ if(e&&e.stopPropagation) {  e.stopPropagation(); } else {  window.event.cancelBubble=true; }} window.onload=function(){ var bt=document.getElementById("bt"); var main=document.getElementById("main"); bt.onclick=function(ev) {  var ev=ev||window.event;  alert("按钮事件触发了!");  stopBubble(ev) } main.onclick=function(){alert("div事件触发了!");}}</script></head>[/size][size=2]<body><div id="main"> <input type="button" id="bt" value="查看效果"/></div></body></html>

以上代码可以阻止事件冒泡现象,代码比较简单这里就不多介绍了,可以参阅相关阅读。
相关阅读:
1.var ev=ev||window.event可以参阅var ev=window.event||ev的作用是什么一章节。 
2.stopPropagation()函数可以参阅javascript的stopPropagation()方法一章节。 
3.cancelBubble属性可以参阅javascript的cancelBubble事件属性一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11719

更多内容可以参阅:http://www.softwhy.com/javascript/