Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana Mengendalikan Lampiran Pendengar Acara untuk Elemen Dijana Secara Dinamik Tanpa jQuery?

Bagaimana Mengendalikan Lampiran Pendengar Acara untuk Elemen Dijana Secara Dinamik Tanpa jQuery?

DDD
DDDasal
2024-10-22 11:17:29351semak imbas

How to Handle Event Listener Attachment for Dynamically Generated Elements Without jQuery?

Lampiran Pendengar Acara Dinamik

Anda ingin melampirkan pendengar acara pada elemen yang dijana secara dinamik pada halaman web yang bukan milik anda. Memandangkan anda tidak boleh menggunakan jQuery, anda mencari penyelesaian alternatif.

Delegasi acara ialah pendekatan yang berdaya maju dalam senario ini. Dengan melampirkan pendengar pada elemen peringkat lebih tinggi (mis., kandungan), anda boleh menangkap peristiwa yang menggelembung daripada elemen anaknya, termasuk yang dibuat secara dinamik.

<code class="javascript">document.querySelector('body').addEventListener('click', function(event) {
  if (event.target.tagName.toLowerCase() === 'li') {
    // Perform your action on 'li' elements
  }
});</code>

Dalam coretan ini:

  • Kami menambah pendengar acara klik pada elemen badan.
  • Apabila peristiwa klik berlaku, kami menyemak tagName acara.sasaran.
  • Jika sasaran ialah < ;li> elemen, kami melaksanakan tindakan yang diingini.

Perhatikan bahawa pendekatan ini bergantung pada peristiwa menggelegak. Ia mungkin tidak berfungsi dalam sesetengah penyemak imbas lama yang tidak menyokong mekanisme ini. Selain itu, jika mana-mana elemen yang dijana secara dinamik bersarang dalam elemen lain (cth.,

  • dalam
      ), anda mungkin perlu melaraskan pemilih perwakilan acara dengan sewajarnya.

      Atas ialah kandungan terperinci Bagaimana Mengendalikan Lampiran Pendengar Acara untuk Elemen Dijana Secara Dinamik Tanpa jQuery?. 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