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() {});
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!