テーブルに矢印キー ナビゲーションを使用しています。現在選択されている行に基づいて、div にいくつかの詳細をロードする必要があります。行を選択すると、サーバーへの Ajax 呼び出しが行われ、詳細が取得され、その詳細が div に読み込まれます。これは、Ajax 呼び出しと div の更新に時間がかかる場合があります。この時間内に、キーダウン イベントを無効にしたいと考えています。
$('#tbl tbody').on('keydown', function (event) {
var keyCode = event.keyCode;
if (keyCode >= 37 && keyCode <= 40) {
event.preventDefault();
ChangeTarget(keyCode)
}
});
しばらくの間、キーダウンイベントのバインドを解除または一時停止したいだけです。
タイムアウトを使用しようとしましたが、それは私が望むようには役に立ちません。
$('#tbl tbody').on('keydown', function (event) {
var keyCode = event.keyCode;
if (keyCode >= 37 && keyCode <= 40) {
event.preventDefault();
ChangeTarget(keyCode);
setTimeout(function () {
}, 10000);
}
});
Ajax がその仕事を完了するまで、重要なイベントを記録したくありません!!!