Ausführung übergeordneter Event-Handler verhindern
In der gegebenen HTML-Struktur löst ein Klick auf ein beliebiges div-Element den Click-Handler seines übergeordneten div aus. zu unbeabsichtigtem Verhalten führen. Um dies zu verhindern, können wir die Weitergabe von Klickereignissen mithilfe von jQuery deaktivieren.
<div>
function func() { if ($(childId).hasClass("visible")){ $(childId).removeClass("visible"); $(childId).addClass("invisible"); }
Um die Weitergabe von Klickereignissen zu deaktivieren, fügen Sie den untergeordneten Elementen einen Ereignishandler hinzu, der die Methode stopPropagation() aufruft:
function handler(event) { event.stopPropagation(); // Custom code to execute for the child's click event } $('#a').add('#b').click(handler);
Durch die Verhinderung der Ereignisweitergabe lösen Klicks auf untergeordnete Elemente ('#b') nicht mehr den Klick-Handler des übergeordneten Elements aus ('#A'). Ebenso werden Klicks auf untergeordnete Elemente ('#c') nicht auf beide übergeordneten Elemente ('#b' und '#a') übertragen.
Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass übergeordnete Ereignishandler mit Klicks auf untergeordnete Elemente in jQuery ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!