Rumah > hujung hadapan web > tutorial js > Pengendalian Peristiwa Langsung vs. Diwakilkan dalam jQuery: Bilakah Saya Harus Menggunakan Yang Mana?

Pengendalian Peristiwa Langsung vs. Diwakilkan dalam jQuery: Bilakah Saya Harus Menggunakan Yang Mana?

Susan Sarandon
Lepaskan: 2024-12-25 04:47:17
asal
663 orang telah melayarinya

Direct vs. Delegated Event Handling in jQuery: When Should I Use Which?

Pengendalian Acara Langsung lwn. Diwakilkan dengan jQuery .on()

Apabila menggunakan kaedah jQuery .on() untuk pengendalian acara, terdapat ialah perbezaan asas antara pengendali acara langsung dan diwakilkan.

Pengendali acara langsung, seperti yang tersirat dengan nama mereka, lampirkan pendengar acara terus ke elemen tertentu. Contohnya:

$("div#target span.green").on("click", function() {
   alert($(this).attr("class") + " is clicked");
});
Salin selepas log masuk

Dalam senario ini, pendengar acara klik terikat terus pada setiap elemen span.green dalam bekas div#target.

Pengendali acara yang diwakilkan, sebaliknya , lampirkan pendengar acara pada elemen induk dan wakilkan pengendalian acara kepada elemen keturunan yang sepadan dengan pemilih. Contohnya:

$("div#target").on("click", "span.green", function() {
   alert($(this).attr("class") + " is clicked");
});
Salin selepas log masuk

Di sini, pendengar acara klik dilampirkan pada bekas div#target, yang kemudiannya mewakilkan pengendalian klik kepada mana-mana elemen span.hijau keturunan.

Kunci Perbezaannya ialah dalam pengendalian acara yang diwakilkan, pengendali tidak dipanggil jika acara itu berlaku secara langsung pada elemen induk. Sebaliknya, acara menggelembungkan pokok DOM dan pengendali hanya digunakan untuk unsur keturunan yang sepadan dengan pemilih yang disediakan. Ini boleh memberi manfaat untuk kandungan dinamik yang mana elemen baharu boleh ditambah atau dialih keluar, kerana pendengar acara akan digunakan secara automatik pada mana-mana keturunan yang sepadan tanpa memerlukan pengikatan eksplisit.

Dalam contoh yang diberikan, acara langsung dan diwakilkan pengendali menghasilkan tingkah laku yang sama kerana tiada unsur dinamik ditambah atau dialih keluar. Walau bagaimanapun, jika elemen span.green baharu ditambahkan secara dinamik pada halaman, hanya pengendali acara yang diwakilkan akan mengendalikan acara klik mereka.

Atas ialah kandungan terperinci Pengendalian Peristiwa Langsung vs. Diwakilkan dalam jQuery: Bilakah Saya Harus Menggunakan Yang Mana?. 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