Ich habe Probleme, herauszufinden, warum dieser Code nicht ausgeführt wird. Ich bekomme überhaupt keinen Fehler in der Konsole.Übergabe einer Variablen an eine addEventListener-Funktion
const remove = saClass => {
document.getElementsByClassName('site-alert')[0].remove();
};
const sitealert = ({message = 'Default message', dismissText = 'Close', className = 'site-alert'}) => {
render(`<div id="sitealert" class="${className}">${message}<button id='close-message'>${dismissText}</button><div>`);
document.getElementById('close-message').addEventListener('click', remove(className), false);
};
export const init = (options) => sitealert(options);
Wenn ich hinzufügen, einen Parameter remove(className)
an die addEventListener der Code überhaupt nicht laufen, und ich bekomme keinen Fehler in der Konsole.
Wenn ich den Parameter entfernen, funktioniert alles gut.
Übergeben ich eine Variable falsch?
Ich sollte beachten, dass ich babel verwende, um den Code in ein UMD-Format zu konvertieren.
Danke, Dave
Diese Frage wurde mindestens 1000 mal beantwortet. – Silom
Mögliches Duplikat von [Wie übergeben Sie Argumente an die addEventListener-Listenerfunktion?] (Http://stackoverflow.com/questions/256754/how-to-pass-arguments-to-addeventlistener-listener-function) – Silom