このコードが実行されない理由を理解しようとすると、問題が発生しています。私はコンソールに全く何のエラーもありません。私は、addEventListenerをするパラメータremove(className)
を追加するとaddEventListener関数に変数を渡す
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);
コードがまったく実行されませんし、私は、コンソールにはエラーを取得していません。
パラメータを削除するとすべて正常に動作します。
変数を間違って渡していますか?
私はコードをUMD形式に変換するためにbabelを使用していることに注意してください。
おかげで、 デイブ
この質問は少なくとも1000回答えられました。 – Silom
[addEventListenerリスナー関数への引数の受け渡し方法]の複製がありますか?(http://stackoverflow.com/questions/256754/how-to-pass-arguments-to-addeventlistener-listenerfunction) – Silom