次のようにすると、イベントリスナーが追加された時点で変数の値が必要な添付イベントリスナーに変数が渡されます。イベントリスナーでJavascriptのパス値が機能する
foo=a;
document.addEventListener('mousedown', function() { doSomething(foo) }, false);
foo=b;
doSomething(val){
alert(val);
}
したがって、「b」ではなく「a」を警告する必要があります。
どのイベントリスナーが追加されたときに値のコピーを作成する方法について? –
多くのボタンが作成されるので、静的でなければなりません。 – user1209203
スクリプトは、ユーザがクリックするまでにfooが既に値 "b"を持っているので、 "b"を警告し、 "a"ではなく警告するときには正しいです。 addEventListenerで何が得られたのですか?そのイベントに関数を割り当てているので、イベントがトリガされたときに関数が実行されます – Liviu