이번에는 버블링 이벤트가 무엇인지, 어떻게 사용하는지 자세히 소개하겠습니다. 예시 데모를 살펴보세요.
버블 이벤트
(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 이벤트 개체의 속성은 트리거 이벤트 개체를 나타내는 데 사용됩니다.
<!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 엔진은 어떻게 보일까요?AJAX에서 비동기 동기 요청을 구현하는 방법js 코드 사례 - 날짜를 기준으로 요일 계산위 내용은 JS 버블링 이벤트를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!