Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Melampirkan Pendengar Acara pada Elemen Dicipta Secara Dinamik dalam JavaScript?

Bagaimana untuk Melampirkan Pendengar Acara pada Elemen Dicipta Secara Dinamik dalam JavaScript?

DDD
Lepaskan: 2024-12-20 06:32:09
asal
295 orang telah melayarinya

How to Attach Event Listeners to Dynamically Created Elements in JavaScript?

Melampirkan Acara pada Elemen Dicipta Secara Dinamik dalam JavaScript

Apabila cuba menambahkan elemen dinamik pada senarai yang dibuat secara dinamik dan menambah pendengar acara pada elemen yang dicipta secara dinamik, peristiwa itu mungkin tidak menyala. Ini kerana elemen tidak tersedia pada masa pendengar acara dilampirkan.

Untuk menangani isu ini, perwakilan acara boleh digunakan. Teknik ini melibatkan melampirkan pendengar acara pada elemen peringkat lebih tinggi yang mengandungi elemen yang dicipta secara dinamik.

Sebagai contoh, pertimbangkan kod berikut:

document.addEventListener("click", function(e) {
  const target = e.target.closest("#btnPrepend"); // or any other selector

  if (target) {
    // Do something with 'target'
  }
});
Salin selepas log masuk

Dalam contoh ini, pendengar acara ialah dilampirkan pada objek dokumen, mendengar peristiwa klik. Fungsi terdekat() digunakan untuk menentukan sama ada peristiwa klik berasal daripada elemen dengan pemilih #btnPrepend (atau mana-mana pemilih yang ditentukan lain). Jika perlawanan ditemui, acara dikendalikan dengan sewajarnya.

Sebagai alternatif, jQuery menyediakan pendekatan yang dipermudahkan kepada perwakilan acara:

$(document).on("click", "#btnPrepend", function() {
  // Do something with `$(this)`
});
Salin selepas log masuk

Kaedah ini melampirkan pendengar acara pada objek dokumen, mendengar untuk acara klik khusus pada elemen dengan pemilih #btnPrepend.

Atas ialah kandungan terperinci Bagaimana untuk Melampirkan Pendengar Acara pada Elemen Dicipta Secara Dinamik dalam JavaScript?. 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