Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie JS-Bubbling-Ereignisse

So verwenden Sie JS-Bubbling-Ereignisse

php中世界最好的语言
php中世界最好的语言Original
2017-12-04 14:43:442241Durchsuche

Dieses Mal gebe ich Ihnen eine detaillierte Einführung in Bubbling-Events, was sie sind und wie man sie verwendet. Hier ist eine Beispieldemonstration, die Sie sich ansehen können.

Blasenereignis

(1) Blase bedeutet, dass, wenn das Ereignis des Nachkommenelements ausgelöst wird, auch das gleiche Ereignis seines Vorgängerelements ausgelöst wird;

<!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>

//Übung des Sprudelns;

Delegation von Ereignissen

Delegation von Ereignissen: Um das Problem der mehrfachen Erzeugung von Antwortereignissen durch Sprudeln zu lösen, können wir Sie binden Vorgängerelemente desselben Ereignisses und Lösung des Problems der Bindung von Ereignissen an Nachkommenelemente durch Sprudeln.

Das Zielattribut des Ereignisereignisobjekts wird zur Darstellung des auslösenden Ereignisobjekts verwendet >

<!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=&#39;#&#39; class=&#39;sn&#39;>新建超链接</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>

Ich glaube, dass Sie die Methoden beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Verwandte Lektüre:

Wie sieht die JS-Engine aus, wenn sie ausgeführt wird?


Wie implementiert man asynchrone synchrone Anforderungen in AJAX


JS-Codebeispiel – Berechnen Sie den Wochentag basierend auf dem Datum

Das obige ist der detaillierte Inhalt vonSo verwenden Sie JS-Bubbling-Ereignisse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn