Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Melampirkan Pendengar Acara Klik dengan Betul pada Berbilang Elemen dengan Kelas yang Sama dalam JavaScript?

Bagaimana untuk Melampirkan Pendengar Acara Klik dengan Betul pada Berbilang Elemen dengan Kelas yang Sama dalam JavaScript?

DDD
Lepaskan: 2024-11-30 14:02:10
asal
553 orang telah melayarinya

How to Properly Attach a Click Event Listener to Multiple Elements with the Same Class in JavaScript?

JavaScript Event Listener untuk Klik pada Kelas

Untuk melampirkan pendengar acara klik pada kelas, anda boleh menggunakan kaedah addEventListener(). Kaedah ini memerlukan tiga hujah:

  • Jenis acara (cth., 'klik')
  • Fungsi pendengar
  • Bendera tangkapan pilihan (biasanya palsu)

Dalam contoh anda, anda menggunakan kaedah addEventListener() dengan betul. Walau bagaimanapun, terdapat dua isu:

1. Kesilapan Pemilihan Elemen

Anda memilih elemen kelas menggunakan document.getElementsByClassName("classname"), yang mengembalikan HTMLCollection atau NodeList (bergantung pada pelayar). Ini bukan tatasusunan, jadi anda tidak boleh menggunakan tatatanda kurungan tatasusunan untuk melampirkan terus pendengar acara pada setiap elemen kelas.

2. Ralat Fungsi Pendengar Acara

Dalam fungsi pendengar acara anda, anda memanggilnya apabila anda melampirkannya pada elemen kelas. Ini bermakna fungsi itu dilaksanakan serta-merta apabila pendengar ditambah. Sebaliknya, anda harus memasukkan fungsi sebagai rujukan tanpa memanggilnya:

classname.addEventListener('click', myFunction, false);
Salin selepas log masuk

Kod Dibetulkan

Berikut ialah kod yang diperbetulkan:

var elements = document.getElementsByClassName("classname");

var myFunction = function() {
    var attribute = this.getAttribute("data-myattribute");
    alert(attribute);
};

for (var i = 0; i < elements.length; i++) {
    elements[i].addEventListener('click', myFunction, false);
}
Salin selepas log masuk

Kod ini kini akan menambah pendengar acara dengan betul pada setiap elemen kelas dan mencetuskan fungsi yang disediakan apabila elemen diklik, memaparkan elemen nilai atribut data-myattribute dalam makluman.

Atas ialah kandungan terperinci Bagaimana untuk Melampirkan Pendengar Acara Klik dengan Betul pada Berbilang Elemen dengan Kelas yang Sama 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