0

私のhtmlには、次のようなイベントバインディングがあります。

document.addEventListener('keydown', onKeyDown);

イベントをフックしたいのでkeydown、つまり、keydown発生したときに、別の関数を呼び出して手動でトリガーしonKeyDownます。

すでにそこにdocument.addEventListener('keydown', onKeyDown);あり(上流)、変更したくありません。要約すると:

`keydown` -> `do something` -> `onKeyDown`

これを達成する方法はありますか?

4

1 に答える 1

1

onKeyDownメソッドにアクセスできる場合は、イベントリスナーからメソッドを削除して、変更したバージョンを再アタッチできます。

function myKeyDown() {
    // your logic
    onKeyDone.apply(this, arguments);
}
document.addEventListener('keydown', myKeyDown);
document.removeEventListener('keydown', onKeyDown);
于 2013-02-04T03:14:23.990 に答える