這次給大家詳細的介紹一下冒泡事件,冒泡事件是什麼,以及冒泡事件改如何使用,下面給大家帶來實例演示,一起來看一下 。
冒泡事件
(1)冒泡就是後代元素的事件被觸發的時候,其祖先元素的相同事件也會被觸發;冒泡是向上導向的;
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #box1{ width: 300px; height: 300px; background-color: #00BFFF; } #s1{ background-color: yellow; } </style> <script type="text/javascript"> window.onload=function(){ var box1=document.getElementById("box1"); var s1=document.getElementById("s1"); var body=document.body; //冒泡就是后代元素的事件被触发的时候,其祖先元素的相同事件也会被触发;冒泡是向上导向的 //如果我们不需要冒泡,可以通过事件对象来取消冒泡; box1.onclick=function(){ alert("box1"); } s1.onclick=function(event){ // event.cancelBubble=true;//可以通过cancelBubble alert("s1"); } body.onclick=function(){ alert("body"); } }; </script> </head> <body> <p id="box1"> 我是p <span id="s1">我是span</span> </p> </body> </html>
//冒泡的練習;
事件的委派
事件的委派:透過冒泡的方式來解決,多次創建回應事件的問題,我們可以對同一事件的祖先元素綁定,透過冒泡來解決,後代元素綁定事件的問題;
Event 事件物件的target屬性用來表示觸發事件物件;
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .box1{ width: 400px; height: 200px; background-color: aquamarine; } </style> <script type="text/javascript"> window.onload=function(){ //获取超链接 var ul=document.getElementById("s1"); var lias=document.getElementsByTagName("a"); var bnt01=document.getElementById("btn01"); //为a绑定一个事件 // for(var i=0;i<lias.length;i++) // { // lias[i].onclick=function(){ // alert("超链接"); // }; // } bnt01.onclick=function(){ //创建超链接; var li=document.createElement("li"); li.innerHTML="<a href='#' class='sn'>新建超链接</a>"; ul.appendChild(li); } ul.onclick=function(event){ //只有点击超链接的时候才执行,其他的地方不执行; if(event.target.className=="sn") alert("超链接"); } }; </script> </head> <body> <button id="btn01">创建一个超链接</button> <p class="box1"> <ul id="s1" style="background-color:red ;"> <li><a href="#" class="sn">超链接一</a></li> <li><a href="#" class="sn">超链接二</a></li> <li><a href="#" class="sn">超链接三</a></li> </ul> </p> </body> </html>
相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
以上是JS的冒泡事件如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!