Apabila menjana elemen secara dinamik dalam aplikasi web, anda mungkin menghadapi cabaran menangkap peristiwa yang dicetuskan oleh elemen ini. Ini boleh menjadi sangat rumit jika pengendali acara ditakrifkan sebelum elemen dinamik ditambahkan pada DOM.
Dalam jQuery, terdapat kaedah khusus yang direka untuk mengendalikan senario ini:
Dalam versi 1.7 dan ke atas jQuery, kaedah .on() digunakan untuk mewakilkan acara. Untuk versi lama, .delegate() mempunyai tujuan yang sama. Kaedah ini membolehkan anda mengikat pengendali acara kepada elemen nenek moyang statik, yang secara automatik akan menangkap peristiwa yang disebarkan daripada keturunan dinamik.
Sebagai contoh, jika anda mempunyai dialog modal yang dijana secara dinamik, anda akan mewakilkan acara keyup kepada elemen modal dan bukannya elemen input individu:
$('#modal').on('keyup', 'input', function() { // Event handler code });
$(selector).on(eventName, selector, handler);
$(selector).delegate(selector, eventName, handler);
Dengan menggunakan perwakilan acara, anda memastikan peristiwa dicetuskan oleh unsur dinamik ditangkap dan dikendalikan dengan betul oleh pengendali acara yang sesuai.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Peristiwa pada Elemen Dijana Secara Dinamik dalam jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!