Merakam Peristiwa daripada Elemen Dijana Secara Dinamik
Anda sedang mengalami isu di mana peristiwa yang dicetuskan oleh unsur yang dijana secara dinamik dalam DIV modal tidak sedang ditangkap oleh pengendali acara anda yang sedia ada. Isu ini timbul disebabkan sifat dinamik elemen ini, yang ditambah selepas pengendali acara terikat.
Untuk menangani masalah ini, jQuery menyediakan dua kaedah: .on dan .delegate (untuk versi jQuery sebelum 1.7 ). Kaedah ini membolehkan anda mewakilkan acara kepada unsur nenek moyang statik yang wujud apabila pengendali terikat. Dalam kes ini, DIV modal bertindak sebagai nenek moyang statik.
Dengan menggunakan .on atau .delegate, anda boleh memastikan bahawa peristiwa menggelembung ke elemen ancestor dan mencetuskan pengendali acara, walaupun untuk elemen yang dijana secara dinamik dalam ia. Berikut ialah kod yang dikemas kini yang menggunakan kaedah .on:
$('#modal').on('keyup', 'input', function() { handler = $(this).val(); name = $(this).attr('name'); });
Sebagai alternatif, untuk versi jQuery sebelum 1.7, anda boleh menggunakan kaedah .delegate seperti berikut:
$('#modal').delegate('input', 'keyup', function() { handler = $(this).val(); name = $(this).attr('name'); });
Dengan melaksanakan ini penyelesaian, anda boleh menangkap dan mengendalikan peristiwa yang dicetuskan oleh unsur yang dijana secara dinamik dalam DIV modal dengan berkesan, memastikan bahawa input pengguna direkodkan seperti yang dijangkakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap Peristiwa daripada Elemen Dijana Secara Dinamik Dalam Modal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!