JavaScript基础-----事件冒泡和阻止

匿名 (未验证) 提交于 2019-12-02 21:53:52

1.事件冒泡:

由里向外依次执行,这就是所谓的事件冒泡(从里向外进行传播);摘自原作者的例子:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>事件冒泡</title> <style>     .one{         width:400px;         height:100px;         border:1px solid #333;     }     .two{         height:35px;         line-height:35px;         padding-left:15px;         border:1px solid red;     }     .three{         padding:10px;         background-color: green;         border:1px solid #999;         cursor:pointer;     } </style> <script src = "http://code.jquery.com/jquery-1.11.2.min.js"></script> <script>     $(function(){         $(".one").click(function(event) {             alert($(this).text());         });         $(".two").click(function(event) {             alert($(this).text());         });         $(".three").click(function(event) {             alert($(this).text());         });     }); </script> </head> <body>     <div class="one">         我是one(div)         <p class="two">             我是two(p)             <span class="three">我是three(span)</span>         </p>     </div> </body> </html>

2.事件捕获:

从外向里依次执行

3.事件冒泡和事件捕获的切换:

addEventListener(事件监听)方法

element.addEventListener(event, function, useCapture)

4.阻止事件冒泡:

stopPropagation()方法,但IE不支持,使用event对象在事件函数调用;



//封装阻止事件冒泡函数 function stopPropagation(event){     var event = window.event || event;     if(document.all){              //document.all:判断浏览器是否为IE         event.cancelBubble = true   //IE浏览器      }else{         event.stoopPropagation();      //其他浏览器        } }        

5.默认行为:

6.阻止默认行为:

preventDefault()方法来取消事件默认行为,但是只有当cancelable属性设置为true的事件,才可以使用preventDefault()来取消事件默认行为,使用event对象在函数中调用;



<a href="JavaScript:void(0)"></a>

(return:false)

//封装阻止事件默认行为函数 function preventDefaultActiion(event){     var event = window.event || event;     if(document.all){         event.returnValue = false;       //IE;浏览器     }else{         event.preventDefault();         //其他浏览器     } }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!