Rumah > hujung hadapan web > tutorial js > Cara Mengendalikan Peristiwa Klik pada Elemen HTML Dimuatkan Secara Dinamik: `.live()` vs. `.on()`?

Cara Mengendalikan Peristiwa Klik pada Elemen HTML Dimuatkan Secara Dinamik: `.live()` vs. `.on()`?

DDD
Lepaskan: 2024-12-18 10:28:22
asal
136 orang telah melayarinya

How to Handle Click Events on Dynamically Loaded HTML Elements: `.live()` vs. `.on()`?

Pengendalian Acara untuk HTML Dimuatkan Secara Dinamik: .live() vs. .on()

Apabila bekerja dengan HTML yang dimuatkan secara dinamik, ia menjadi penting untuk mengendalikan acara bagi elemen yang tidak wujud pada mulanya. Kaedah .live() yang ditamatkan dan penggantiannya yang disyorkan, .on(), menyediakan pendekatan yang berbeza untuk menangani cabaran ini.

Soalan asal menyatakan kesukaran untuk mendaftarkan acara klik untuk elemen yang ditambahkan secara dinamik menggunakan $('#parent ').load("http://..."). Walaupun .click() gagal menangkap acara, .live() berfungsi tetapi tidak digunakan lagi.

Penyelesaian terletak pada pengendalian acara yang diwakilkan menggunakan .on(). Daripada melampirkan acara terus pada elemen yang dimuatkan secara dinamik (#child), ikatkannya pada induk (#parent) dengan pemilih yang sepadan dengan anak. Pendekatan ini memastikan bahawa walaupun #child dicipta selepas operasi load(), ia akan mewarisi pengendali acara yang ditetapkan pada induknya.

Sintaks yang disyorkan untuk senario ini ialah:

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

Dengan cara ini, pendengar acara klik akan dilampirkan pada #parent dan sebarang klik yang berasal daripada #child akan ditangkap dan diproses oleh pengendali acara, walaupun #anak mungkin tidak wujud apabila ibu bapa pada mulanya dicipta.

Atas ialah kandungan terperinci Cara Mengendalikan Peristiwa Klik pada Elemen HTML Dimuatkan Secara Dinamik: `.live()` vs. `.on()`?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan