は、それは前に数回を頼まれていますが、すべては自分の私が見てどちらかがそれをされない、または何らかの理由removeEventListenerが機能していませんか?
フォーカス取得時のために働くしていないようです試したが入力したときに、それが発火するコールバックを取りますキーが押されている(それほどうまくいく)が、removeEventListener()
を呼び出すと動作しないようです。私は、宣言の代わりに関数を変数にしようとしましたが、追加/削除の両方に対してuseCapture
フラグを設定しようとしましたが、関数引数または関数自体のいずれかに.bind(this)
を試してみました。 removeEventListener()
行を別の場所(setTimeout()
の前後)に置くこともできますが、利用できません。イベントリスナーが持続(とdiv
に蓄積)またはすべてのいくつかの試行
MyConsole.prototype.onEnter = function(callback) {
const callCallback = function(e) {
e.preventDefault();
if (e.keyCode === 13 && typeof callback === "function") {
setTimeout(function() {
callback();
}.bind(this), 0);
this.textAreaInputDiv.removeEventListener("keyup", callCallback.bind(this), true);
}
}
this.textAreaInputDiv.addEventListener("keyup", callCallback.bind(this), true);
}
に任意のヘルプは、ヘラはあなたがにまったく同じ関数を渡す必要があります
どのようにKeyEventのために非常に多くのリスナーに来ますか? 1つのイベントに対して1つのeventListenerを使用し、それを複数回使用するDOM内のすべてのものに委譲します。ドキュメントへの添付はkeyCode13に適しています – zer00ne