Heim >Web-Frontend >js-Tutorial >JavaScript verhindert das Sprudeln von Ereignissen. Beispiel: Sharing_Javascript-Kenntnisse

JavaScript verhindert das Sprudeln von Ereignissen. Beispiel: Sharing_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:24:111054Durchsuche

Ich bin schon einmal auf das Problem der Ereignissprudelung gestoßen und habe online gesucht. Die meisten Ergebnisse waren derselbe Code, und als ich ihn gepostet habe, war es nicht reibungslos. Wenn es um FF geht, können Sie e.stopPropagation(); verwenden, was mir irgendwie nicht gelungen ist. Ich habe jedoch festgestellt, dass FF die Schreibmethode e.cancelBubble = true; unterstützt, was nach dem Testen machbar ist. Veröffentlichen Sie einfach den Code hier, damit Sie später nicht mehr danach suchen müssen. Die Kompatibilität früherer IE-Versionen wurde noch nicht getestet. Sie wird bei Verwendung verbessert.

Code kopieren Der Code lautet wie folgt:

//Sprudeln des Ereignisses abbrechen
Funktion stopBubble(e) {
var evt = (e) ? e : window.event;//Kompatibel mit FF
evt.cancelBubble = true; //evt.stopPropagation(); Um Blasenbildung in FF zu verhindern, heißt es, dass Sie
verwenden können };

Außerdem:

1. cancelBubble (HTML-DOM-Ereignisobjektattribut): Wenn der Ereignishandler verhindern möchte, dass das Ereignis an das enthaltende Objekt weitergegeben wird, muss dieses Attribut auf „true“ gesetzt werden.

2. stopPropagation (HTML-DOM-Ereignisobjektmethode): Das Beendigungsereignis wird in der Erfassungs-, Zielverarbeitungs- oder Bubbling-Phase des Ausbreitungsprozesses weiter verbreitet. Nach dem Aufruf dieser Methode wird der Handler für das Ereignis auf diesem Knoten aufgerufen und das Ereignis wird nicht mehr an andere Knoten gesendet.

3. präventDefault (HTML-DOM-Ereignisobjektmethode) benachrichtigt den Browser, die mit dem Ereignis verbundene Standardaktion nicht auszuführen.

Beispiel:
Funktion stopBubble(e)

If (e && e.stopPropagation)
e.stopPropagation()
        sonst
               window.event.cancelBubble=true
}  

Fügen Sie diese stopBubble(e)-Funktion in die Funktion ein, die Sie verhindern möchten, dass Ereignisse sprudeln, um das Sprudeln von Ereignissen zu verhindern

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