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

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

Patricia Arquette
Freigeben: 2024-12-14 11:16:10
Original
179 Leute haben es durchsucht

How Can I Pass Arguments to an Event Listener Function in JavaScript?

Übergabe von Argumenten an die Ereignis-Listener-Funktion

Stellen Sie sich dieses Szenario vor:

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

Das Problem hierbei ist, dass auf someVar innerhalb der Listener-Funktion nicht zugegriffen werden kann von addEventListener. Sie wird als neue, lokale Variable behandelt.

Lösung: Nutzen Sie die Attribute des Ereignisziels

Anstatt zu versuchen, von außerhalb der Listener-Funktion auf Variablen zuzugreifen, rufen Sie die Argumente direkt aus den Attributen des Ereignisziels ab.

Für Instanz:

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

HTML:

<button class="input">Show parameter</button>
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass die erforderlichen Informationen im Ereignisobjekt gekapselt sind, sodass sie zugänglich sind, wenn die Listener-Funktion aufgerufen wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Argumente an eine Event-Listener-Funktion 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