Apabila berurusan dengan elemen dinamik dalam jQuery, adalah penting untuk mempertimbangkan cara melampirkan pengendali acara dengan berkesan. Katakan anda mempunyai pengendali klik untuk elemen dengan kelas ".myclass". Ini berfungsi dengan baik untuk elemen sedia ada, tetapi bukan untuk elemen yang ditambahkan kemudian melalui AJAX atau DHTML.
Untuk menangani perkara ini, jQuery menawarkan beberapa kaedah untuk perwakilan acara. Dari segi sejarah, kaedah .live() biasanya digunakan, tetapi ia telah ditamatkan pada jQuery 1.7. Sebaliknya, kaedah .on() harus digunakan.
Menggunakan .on() untuk Delegasi Acara
Dengan jQuery 1.7 , anda boleh menggunakan .on() kaedah untuk melampirkan pengendali acara pada elemen induk dan tentukan pemilih untuk elemen yang anda ingin kendalikan acara. Contohnya:
$('body').on('click', 'a.myclass', function() { // do something });
Ini akan melampirkan pengendali acara klik pada semua teg 'a' dengan kelas 'myclass' dalam elemen 'body'. Pendekatan ini berkesan menangkap peristiwa untuk kedua-dua elemen sedia ada dan ditambah secara dinamik.
Menggunakan .delegate() untuk Perwakilan Acara (Pra-jQuery 1.7)
Jika anda menggunakan versi jQuery sebelum 1.7, anda boleh mempertimbangkan untuk menggunakan kaedah .delegate(). Sintaksnya adalah serupa dengan .on():
$('body').delegate('a.myclass', 'click', function() { // do something });
Ini mencapai kefungsian yang sama seperti kaedah .on() tetapi serasi dengan versi jQuery yang lebih lama.
Contoh dengan Elemen Dinamik
Pertimbangkan perkara berikut contoh:
<a>
Apabila anda mengklik pautan dengan id "anchor1," teg 'a' baharu dengan kelas "myclass" ditambah secara dinamik. Pengendali acara yang ditetapkan menggunakan .on() atau .delegate() akan digunakan secara automatik pada elemen baharu ini dan mengendalikan acara kliknya.
Dengan menggunakan teknik perwakilan acara, anda boleh melampirkan pengendali acara secara berkesan pada elemen dinamik yang ditambahkan pada halaman anda, memastikan semua elemen yang berkaitan menerima pengendalian acara yang sesuai.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Peristiwa untuk Elemen Ditambah Secara Dinamik dalam jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!