Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menghalang Peristiwa Klik Ibu Bapa daripada Ditembak Apabila Sauh Anak Diklik?

Bagaimana untuk Menghalang Peristiwa Klik Ibu Bapa daripada Ditembak Apabila Sauh Anak Diklik?

Linda Hamilton
Lepaskan: 2024-12-08 19:05:13
asal
709 orang telah melayarinya

How to Prevent Parent Click Events from Firing When a Child Anchor is Clicked?

Menghalang Peristiwa Induk Tercetus daripada Klik Sauh Kanak-Kanak

Dalam pengaturcaraan web, selalunya perlu mempunyai elemen boleh klik yang bersarang dalam elemen boleh klik yang lain. Walau bagaimanapun, apabila elemen utama (teg 'a') diklik dalam elemen induk boleh klik, kedua-dua peristiwa klik boleh dicetuskan, menyebabkan gelagat yang tidak diingini.

Definisi Masalah:

Matlamatnya adalah untuk menghalang peristiwa onclick elemen induk daripada tercetus apabila anak anchor diklik. Ini memastikan bahawa hanya tindakan yang dimaksudkan penambat berlaku.

Penyelesaian 1: Menyemak Asal Acara

jQuery menyediakan objek 'entargs' yang mengandungi maklumat tentang asal acara. Dengan menyemak eventargs dalam pengendali onclick elemen induk, kami boleh menentukan sama ada klik berasal daripada sauh:

$("#clickable").click(function(e) {
    if($(e.target).is("div")) {
        window.location = url;
        return true;
    }
});
Salin selepas log masuk

Dalam kod ini, kami menyemak sama ada sasaran acara ialah elemen 'div'. Jika ya, kami mencetuskan tindakan ibu bapa (mengubah hala ke URL tertentu).

Penyelesaian 2: Menghentikan Peristiwa menggelegak

Peristiwa menggelegak merujuk kepada penyebaran peristiwa melalui pokok DOM. Dengan menambahkan pengendali klik pada sauh dan memanggil 'e.stopPropagation()' di dalamnya, kita boleh menghalang acara daripada menggelegak ke elemen induk:

$("#clickable a").click(function(e) {
   // Do something
   e.stopPropagation();
});
Salin selepas log masuk

Pendekatan ini serta-merta menghentikan acara daripada meneruskan perjalanan menaiknya dalam DOM, memastikan bahawa hanya tindakan penambat dilaksanakan.

Atas ialah kandungan terperinci Bagaimana untuk Menghalang Peristiwa Klik Ibu Bapa daripada Ditembak Apabila Sauh Anak Diklik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan