Bagaimanakah anda menambah pendengar acara klik pada berbilang elemen dengan kelas yang sama dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-11-25 19:01:12
asal
448 orang telah melayarinya

How do you add click event listeners to multiple elements with the same class in JavaScript?

Menambahkan Pendengar Acara Klik pada Berbilang Elemen dengan Kelas Yang Sama

Untuk menambah pendengar acara klik pada semua elemen dengan kelas tertentu, anda boleh menggunakan kaedah querySelectorAll() dan bukannya querySelector(). Kaedah querySelector() mengembalikan elemen padanan pertama, manakala querySelectorAll() mengembalikan NodeList bagi semua elemen padanan.

Penyelesaian:

var deleteLinks = document.querySelectorAll('.delete');
Salin selepas log masuk

Sekarang anda mempunyai NodeList bagi semua pautan padam, anda boleh mengulanginya dan menambah pendengar acara pada setiap satu satu.

for (var i = 0; i < deleteLinks.length; i++) {
    deleteLinks[i].addEventListener('click', function(event) {
        if (!confirm("sure u want to delete " + this.title)) {
            event.preventDefault();
        }
    });
}
Salin selepas log masuk

Dalam pendengar acara, anda boleh menggunakan kata kunci ini untuk merujuk kepada elemen semasa. Ini membolehkan anda mengakses atribut tajuk elemen dan memaparkan mesej pengesahan kepada pengguna.

Nota: Adalah penting untuk menggunakan event.preventDefault() untuk mengelakkan tindakan lalai bagi pautan daripada berlaku jika pengguna mengesahkan pemadaman.

ES6 Versi:

Menggunakan ES6, anda boleh memudahkan kod menggunakan kaedah forEach():

Array.from(deleteLinks).forEach(link => {
    link.addEventListener('click', function(event) {
        if (!confirm(`sure u want to delete ${this.title}`)) {
            event.preventDefault();
        }
    });
});
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah anda menambah pendengar acara klik 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan