Heim > Web-Frontend > js-Tutorial > Wie kann verhindert werden, dass übergeordnete Ereignishandler mit Klicks auf untergeordnete Elemente in jQuery ausgeführt werden?

Wie kann verhindert werden, dass übergeordnete Ereignishandler mit Klicks auf untergeordnete Elemente in jQuery ausgeführt werden?

Barbara Streisand
Freigeben: 2024-11-23 22:55:10
Original
766 Leute haben es durchsucht

How to Prevent Parent Event Handlers from Executing with Child Element Clicks in jQuery?

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>
Nach dem Login kopieren
function func() {
   if ($(childId).hasClass("visible")){
    $(childId).removeClass("visible");
    $(childId).addClass("invisible");
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage