Rumah >hujung hadapan web >tutorial js >Mengapa Pengendali Acara jQuery on() Saya Tidak Berfungsi pada Elemen Ditambah Secara Dinamik?
Mencari Pembetulan untuk Pengendali Acara on() jQuery
Dalam jQuery, peralihan daripada live() kepada on() untuk pengendalian acara telah menjadi topik perbincangan. Pengguna telah menghadapi masalah di mana pengendali acara on() tidak mencetuskan. Untuk menangani perkara ini, mari kita mendalami masalah dan mengenal pasti penyelesaiannya.
Dokumentasi untuk on() dengan jelas menyatakan bahawa pengendali acara terikat hanya kepada elemen yang wujud pada halaman apabila kod dilaksanakan. Ini sangat berbeza dengan gelagat live(), yang melampirkan pengendali acara pada elemen yang ditambahkan secara dinamik pada halaman.
Untuk mencapai kefungsian yang serupa dengan live(), seseorang perlu menggunakan corak berikut:
$(document.body).on('change', 'select[name^="income_type_"]', function() { alert($(this).val()); });
Pendekatan ini mengikat pengendali acara bukan sahaja dengan elemen sedia ada tetapi juga elemen yang akan ditambah pada masa hadapan. Adalah penting untuk mengikat pengendali acara sedekat mungkin dengan elemen sasaran untuk prestasi optimum.
Ringkasnya, apabila beralih daripada live() kepada on(), adalah penting untuk mengikat pengendali acara elemen yang ditambah secara dinamik, seperti seperti yang terdapat dalam senarai juntai bawah. Ini memastikan kod berfungsi seperti yang diharapkan dan bertindak balas kepada interaksi pengguna dengan berkesan.
Atas ialah kandungan terperinci Mengapa Pengendali Acara jQuery on() Saya Tidak Berfungsi pada Elemen Ditambah Secara Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!