Mengapa Peristiwa JavaScript Saya Tidak Terbakar Selepas Menambahkan Elemen Baharu?

DDD
Lepaskan: 2024-11-19 11:28:02
asal
481 orang telah melayarinya

Why Don't My JavaScript Events Fire After Appending New Elements?

JavaScript Tidak Menyala Selepas Dilampirkan

Ringkasan Masalah

Apabila menambahkan elemen input baharu pada halaman web menggunakan JavaScript, peristiwa berikutnya mungkin tidak dicetuskan. Ini kerana jQuery tidak mengetahui elemen yang baru ditambah ini.

Delegasi Acara dan Bubbling

jQuery berfungsi dengan mendaftarkan pengendali acara untuk elemen tertentu. Walau bagaimanapun, apabila elemen baharu ditambah secara dinamik, pengendali acara ini tidak dapat mengenalinya. Untuk menyelesaikan masalah ini, perwakilan acara digunakan.

Delegasi acara melibatkan mendengar acara pada elemen induk yang sudah ada dalam DOM pada masa jQuery dimuatkan. Apabila peristiwa berlaku dalam elemen anak bersarang, ia menggelembung ke elemen induk, di mana pengendali acara boleh menangkapnya.

Penyelesaian Kod

Untuk menggunakan perwakilan acara dalam kod yang disediakan, pengendali acara untuk butang harus diubah suai untuk menggunakan kaedah on(). Kaedah ini membenarkan pendengaran acara diwakilkan kepada elemen induk.

$(document).on('click', '.races', function(e) {
  // ... rest of the code
});
Salin selepas log masuk

Dengan menggunakan $(document).on(), acara akan diwakilkan kepada objek dokumen, yang terdapat dalam DOM semasa beban halaman. Ini memastikan acara daripada elemen .races yang baru ditambah akan ditangkap dan dikendalikan oleh pengendali acara.

Atas ialah kandungan terperinci Mengapa Peristiwa JavaScript Saya Tidak Terbakar Selepas Menambahkan Elemen Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan