Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengendalikan Peristiwa pada Elemen Dijana Secara Dinamik dalam jQuery?
Pengendalian Acara untuk Elemen Dijana Secara Dinamik
Apabila anda menjana elemen secara dinamik menggunakan kaedah seperti load() atau click() jQuery, menangkap peristiwa dicetuskan oleh unsur-unsur ini boleh mencabar. Pengendali acara standard yang dilampirkan pada elemen statik mungkin tidak berfungsi untuk elemen yang dijana secara dinamik.
Penyelesaian: Delegasi Acara
Delegasi acara ialah teknik yang membolehkan anda mengendalikan acara yang menggelembung daripada unsur yang dicipta secara dinamik. Dengan mewakilkan acara kepada elemen nenek moyang statik, anda memastikan ia wujud apabila pengendali acara terikat.
Menggunakan Kaedah .on() jQuery
Untuk versi jQuery 1.7 atau ke atas, gunakan kaedah .on() untuk mewakilkan acara:
$('#modal').on('keyup', 'input', function() { handler = $(this).val(); name = $(this).attr('name'); });
Menggunakan Kaedah .delegate() jQuery (Versi Lama)
Untuk versi jQuery yang lebih lama (1.6 atau ke bawah), gunakan .delegate() sebaliknya kaedah:
// Note the different order of selector and event $('#modal').delegate('input', 'keyup', function() { handler = $(this).val(); name = $(this).attr('name'); });
Dengan menggunakan perwakilan acara, anda boleh mengendalikan acara dengan berkesan dicetuskan oleh unsur yang dijana secara dinamik tanpa perlu risau tentang susunan penciptaan elemen dan pengikatan peristiwa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Peristiwa pada Elemen Dijana Secara Dinamik dalam jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!