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
Barbara StreisandOriginal
2024-11-23 22:55:10780Durchsuche

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

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