Stellen Sie sich dieses Szenario vor:
var someVar = some_other_function(); someObj.addEventListener("click", function(){ some_function(someVar); }, false);
Das Problem hierbei ist, dass auf someVar innerhalb der Listener-Funktion nicht zugegriffen werden kann von addEventListener. Sie wird als neue, lokale Variable behandelt.
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); }
HTML:
<button class="input">Show parameter</button>
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!