Heim > Web-Frontend > js-Tutorial > Wie kann ich Argumente an Event-Listener-Funktionen in JavaScript übergeben?

Wie kann ich Argumente an Event-Listener-Funktionen in JavaScript übergeben?

Linda Hamilton
Freigeben: 2024-12-19 00:23:10
Original
553 Leute haben es durchsucht

How Can I Pass Arguments to Event Listener Functions in JavaScript?

Ereignis-Listener: Argumente an Listener-Funktionen übergeben

Beim Anhängen von Ereignis-Listenern mit der Methode addEventListener kann es Situationen geben, in denen Sie übergeben müssen Argumente für die Listener-Funktion. Ein solches Szenario beinhaltet das Abrufen des Werts einer Variablen, die außerhalb des Gültigkeitsbereichs des Listeners definiert ist.

Szenario und Problem

Betrachten Sie den folgenden Code:

var someVar = some_other_function();
someObj.addEventListener("click", function(){
    some_function(someVar);
}, false);
Nach dem Login kopieren

Hier ist someVar eine Variable, die außerhalb der Listener-Funktion definiert ist, und unser Ziel ist es, ihren Wert als Argument an some_function zu übergeben, wenn der „Klick“ erfolgt. Ereignis eintritt. Innerhalb der Listener-Funktion wird someVar jedoch als neue Variable behandelt, was zu einem Problem führt, bei dem auf den beabsichtigten Wert nicht zugegriffen werden kann.

Vorgeschlagene Lösung: Nutzung der Eigenschaften des Ereignisziels

Anstatt Argumente explizit zu übergeben, sollten Sie erwägen, auf die Eigenschaften des Ereignisziels zuzugreifen, um die erforderlichen Informationen abzurufen. Im obigen Beispiel können Sie eine benutzerdefinierte Eigenschaft myParam an someObj anhängen, wie unten gezeigt:

const someInput = document.querySelector('button');
someInput.addEventListener('click', myFunc, false);
someInput.myParam = 'This is my parameter';

function myFunc(evt)
{
  window.alert(evt.currentTarget.myParam);
}
Nach dem Login kopieren

Jetzt können Sie innerhalb der Listener-Funktion myFunc auf den Parameterwert zugreifen, indem Sie auf evt.currentTarget.myParam verweisen. Diese Methode macht die explizite Übergabe von Argumenten überflüssig und stellt sicher, dass der richtige Wert erhalten wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Argumente an Event-Listener-Funktionen in JavaScript übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage