javascript中的事件冒泡
2015-03-24 17:00
162 查看
在html页面中,如果两个控件正好叠加,并且两个控件都绑定了临听事件的话,里面的控件在事件被触发时,会发生事件冒泡的现象。
示例如下:
因为ie和ff对阻止冒泡的执行方法不同,所以对阻止冒泡的功能做了封装. 如下:
示例如下:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>事件冒泡</title> </head> <body> <style type="text/css"> #wrapper{padding:20px 0px;background:black;width:150px;text-align:center;} </style> <div id="wrapper"> <input type="button" value="click me" id="btn" /> </div> <script type="text/javascript"> var wrapper=document.getElementById("wrapper"); var btn=document.getElementById("btn"); wrapper.onclick=function(){ //结果显示1 alert( "1"); } btn.onclick=function(){ //结果会先显示2, 再显示1 事件冒泡了 alert("2"); } </script> <br /> 阻止冒泡的实现:在ie通过设置event的cancelBubble属性为true,在ff下设置event的stopPropagation实现. </body> </html>
因为ie和ff对阻止冒泡的执行方法不同,所以对阻止冒泡的功能做了封装. 如下:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>事件冒泡</title> </head> <body> <style type="text/css"> #wrapper{padding:20px 0px;background:black;width:150px;text-align:center;} </style> <div id="wrapper"> <input type="button" value="click me" id="btn" /> </div> <script type="text/javascript"> var wrapper=document.getElementById("wrapper"); var btn=document.getElementById("btn"); //封装阻止冒泡的动作 function stopPropagation( e){ e=window.event||e; if( document.all ){ e.cancelBubble=true; //在ie通过设置event的cancelBubble属性为true }else{ e.stopPropagation(); //在ff下设置event的stopPropagation实现 } } wrapper.onclick=function(){ //结果显示1 alert( "1"); } btn.onclick=function(e){ //结果会先显示2, 再显示1 alert("2"); stopPropagation( e ); } </script> <br /> 阻止冒泡的实现:在ie通过设置event的cancelBubble属性为true,在ff下设置event的stopPropagation实现. </body> </html>
相关文章推荐
- 阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
- 书:"Pro JavaScript Techniques 精通JavaScript"之阻止事件冒泡的通用函数
- JavaScript中的事件流—捕捉和冒泡及取消冒泡事件
- JavaScript 事件冒泡简介及应用
- JavaScript 事件冒泡应用实例分析
- javascript中防止IE事件冒泡
- 阻止JavaScript事件冒泡传递
- Javascript学习日记-阻止javascript事件冒泡,获取控件ID值
- Javascript 阻止javascript事件冒泡,获取控件ID值
- 阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
- JavaScript 的事件冒泡 demo
- 阻止JavaScript事件冒泡
- javascript阻止冒泡事件
- JavaScript事件冒泡简介及应用
- JavaScript 阻止事件冒泡传递
- 阻止 JavaScript事件 冒泡传递 (cancelBubble 、stopPropagation)
- javascript阻止事件冒泡和浏览器的默认行为
- javascript mouseover、mouseout停止事件冒泡的解决方案
- JavaScript事件冒泡应用实例
- JavaScript事件冒泡和阻止默认行为和阻止事件冒泡(转载)