Elemen HTML yang dicipta secara dinamik sering menimbulkan cabaran dalam pengendalian acara. Pertimbangkan senario di mana elemen dengan kelas .myclass mempunyai pengendali acara yang dilampirkan menggunakan jQuery:
$(function(){ $(".myclass").click( function() { // do something }); });
Ini berfungsi dengan baik untuk elemen sedia ada, tetapi elemen yang dicipta secara dinamik tidak mewarisi pengendali acara. Sebagai contoh, jika pautan baharu dengan kelas .myclass ditambahkan kemudian:
$(function(){ $("#anchor1").click( function() { $("#anchor1").append('<a>
Pautan yang baru dibuat, "test4," tidak mempunyai pengendali acara klik yang dilampirkan. Untuk menangani perkara ini, jQuery menyediakan penyelesaian menggunakan kaedah '.on()':
$('body').on('click', 'a.myclass', function() { // do something });
Kaedah ini melampirkan pengendali peristiwa pada elemen induk (seperti 'badan' dalam kes ini) dan menyasarkan elemen yang sepadan pemilih ('.myclass'). Oleh itu, semua elemen masa kini dan akan datang dengan kelas .myclass dalam 'badan' akan disertakan pengendali acara.
Pendekatan ini membolehkan pengendalian acara yang fleksibel pada kedua-dua elemen statik dan dicipta secara dinamik, memastikan interaksi pengguna yang lancar tanpa mengira apabila elemen ditambahkan pada halaman.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Acara pada Elemen HTML Dicipta Secara Dinamik dengan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!