Heim >Web-Frontend >js-Tutorial >Wie fügt man in JavaScript Click-Event-Listener zu mehreren Elementen derselben Klasse hinzu?

Wie fügt man in JavaScript Click-Event-Listener zu mehreren Elementen derselben Klasse hinzu?

Barbara Streisand
Barbara StreisandOriginal
2024-11-25 19:01:12535Durchsuche

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

Hinzufügen von Click-Event-Listenern zu mehreren Elementen mit derselben Klasse

Um einen Click-Event-Listener zu allen Elementen mit einer bestimmten Klasse hinzuzufügen, müssen Sie kann die Methode querySelectorAll() anstelle von querySelector() verwenden. Die Methode querySelector() gibt das erste übereinstimmende Element zurück, während querySelectorAll() eine NodeList aller übereinstimmenden Elemente zurückgibt.

Lösung:

var deleteLinks = document.querySelectorAll('.delete');

Jetzt haben Sie es eine NodeList aller Löschlinks, Sie können sie durchlaufen und jedem einzelnen einen Ereignis-Listener hinzufügen.

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();
        }
    });
}

In Im Ereignis-Listener können Sie mit dem Schlüsselwort this auf das aktuelle Element verweisen. Dadurch können Sie auf das Titelattribut des Elements zugreifen und dem Benutzer eine Bestätigungsmeldung anzeigen.

Hinweis: Es ist wichtig, event.preventDefault() zu verwenden, um die Standardaktion des zu verhindern Der Link wird nicht ausgeführt, wenn der Benutzer das Löschen bestätigt.

ES6-Version:

Verwendet ES6 können Sie den Code mit der forEach()-Methode vereinfachen:

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

Das obige ist der detaillierte Inhalt vonWie fügt man in JavaScript Click-Event-Listener zu mehreren Elementen derselben Klasse hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn