私は問題があります
open: function($type) {
//Some code
document.getElementById($type).addEventListener("click", l.close($type), false);
},
close: function($type) {
//There is some code too
document.getElementById($type).removeEventListener("click", l.close($type), false);
//^ Recursion & Uncaught RangeError: Maximum call stack size exceeded
}
私が間違っているのは何ですか?このクリックイベントリスナーがなければ、すべてがうまく機能しています。そして、3番目のパラメーターは何をしていますか(true | false)?ありがとうございました。
Isを引数として渡そうとしているときにclose
およびaddEventListener
でremoveEventListener
関数を呼び出しています(無限ループが発生します)。代わりに、次のように関数への参照を渡すだけです。
document.getElementById($type).addEventListener("click", l.close, false);
そして:
document.getElementById($type).removeEventListener("click", l.close, false);
または、同じ名前の2つのJavascript関数がある場合があります。