Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Peristiwa JavaScript Saya Tidak Mencetuskan Selepas Elemen Dinamik Dilampirkan?

Mengapa Peristiwa JavaScript Saya Tidak Mencetuskan Selepas Elemen Dinamik Dilampirkan?

Patricia Arquette
Patricia Arquetteasal
2024-11-14 11:49:02407semak imbas

Why Are My JavaScript Events Not Triggering After Dynamic Element Appending?

Acara JavaScript Tidak Mencetuskan Selepas Penambahan Elemen Dinamik

Anda menghadapi isu di mana acara JavaScript tidak dicetuskan selepas menambahkan elemen baharu pada DOM . Ini kerana jQuery hanya mengenali elemen yang hadir apabila ia mula dijalankan semasa pemuatan halaman.

Untuk menyelesaikan masalah ini, anda perlu menggunakan perwakilan acara untuk menangkap acara daripada elemen dinamik. Perwakilan acara melibatkan menangkap acara pada tahap yang lebih tinggi dalam DOM yang sudah ada semasa pemuatan halaman. Ini membolehkan acara daripada elemen yang baru ditambah muncul dan dikendalikan.

Dalam kes anda, anda boleh mewakilkan acara klik kepada elemen induk yang hadir semasa pemuatan halaman. Sebagai contoh, anda boleh menukar kod JavaScript anda untuk menggunakan kaedah on() seperti berikut:

$(document).on('click', '.races', function(e) {
  // Your code here
});

Dengan cara ini, sebarang elemen baharu yang ditambahkan dengan kelas ".races" akan mewarisi pengendali acara klik. Ingat untuk menggunakan kaedah on() dan bukannya click() apabila melaksanakan delegasi acara.

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

Kenyataan:
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