Heim >Web-Frontend >js-Tutorial >JavaScript verhindert das Sprudeln von Ereignissen. Beispiel: Sharing_Javascript-Kenntnisse
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.
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