Rumah > hujung hadapan web > tutorial js > Pengendalian Acara jQuery: .live() vs. .on() untuk Elemen Dimuat Secara Dinamik?

Pengendalian Acara jQuery: .live() vs. .on() untuk Elemen Dimuat Secara Dinamik?

Patricia Arquette
Lepaskan: 2024-12-19 16:55:16
asal
205 orang telah melayarinya

jQuery Event Handling: .live() vs. .on() for Dynamically Loaded Elements?

Pengendalian Acara dengan HTML Dinamik: jQuery .live() vs .on()

Apabila bekerja dengan HTML yang dimuatkan secara dinamik, tambah pengendali acara kepada elemen yang baru dicipta boleh mencabar. Soalan ini meneroka perbezaan antara kaedah .live() dan .on() jQuery untuk melampirkan peristiwa klik pada elemen yang dimuatkan secara dinamik.

Dalam jQuery v1.7.1, .live() ditamatkan. Sebaliknya, .on() disyorkan untuk pengendalian acara dengan kandungan yang dibuat secara dinamik. Walau bagaimanapun, penyoal menghadapi situasi di mana .on() gagal mendaftarkan acara klik untuk elemen yang dimuatkan secara dinamik dengan $('#parent').load().

Kaedah yang betul untuk senario ini ialah perwakilan acara, dicapai menggunakan .on(). Perwakilan acara melibatkan melampirkan pengendali acara pada elemen induk yang wujud sebelum kandungan dinamik dimuatkan. Pengendali acara kemudiannya dikonfigurasikan untuk mendengar acara yang berasal daripada elemen yang dicipta secara dinamik.

Sebagai contoh, untuk melampirkan pengendali klik pada elemen #anak yang dimuatkan secara dinamik ke dalam #induk:

$('#parent').on("click", "#child", function() {});
Salin selepas log masuk

Pendekatan ini membolehkan pengendali acara menangkap acara klik pada elemen #kanak-kanak, walaupun elemen itu tidak wujud apabila pengendali acara dilampirkan. Ini kerana acara klik berbuih sehingga elemen #induk, yang mempunyai pengendali acara yang ditakrifkan untuk elemen #anak.

Delegasi acara menyelesaikan isu penambahan pengendali klik pada elemen yang dicipta secara dinamik dan merupakan pendekatan yang disyorkan apabila bekerja dengan HTML yang dimuatkan secara dinamik.

Atas ialah kandungan terperinci Pengendalian Acara jQuery: .live() vs. .on() untuk Elemen Dimuat Secara Dinamik?. 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