Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menangkap Peristiwa daripada Elemen Dijana Secara Dinamik Dalam Modal?

Bagaimanakah Saya Boleh Menangkap Peristiwa daripada Elemen Dijana Secara Dinamik Dalam Modal?

Barbara Streisand
Barbara Streisandasal
2024-12-18 11:15:17238semak imbas

How Can I Capture Events from Dynamically Generated Elements Within a Modal?

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!

Kenyataan:
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