gpt4 book ai didi

javascript - 如何在Jquery中解除keydown事件的绑定(bind)一段时间然后再次绑定(bind)它?

转载 作者:行者123 更新时间:2023-11-28 20:41:10 24 4
gpt4 key购买 nike

我正在使用箭头键导航表格。根据当前选定的行,我必须在 div 中加载一些详细信息。选择一行后,它将对服务器进行 Ajax 调用以获取更多详细信息并将该详细信息加载到 div 中。这可能需要一些时间来进行 Ajax 调用并更新 div。在这段时间内我想禁用按键事件。

     $('#tbl tbody').on('keydown', function (event) {

var keyCode = event.keyCode;

if (keyCode >= 37 && keyCode <= 40) {
event.preventDefault();
ChangeTarget(keyCode)
}
});

我只是想解除绑定(bind)或暂停 keydown 事件一段时间。

我尝试使用超时,但这并没有像我想要的那样帮助我。

$('#tbl tbody').on('keydown', function (event) {
var keyCode = event.keyCode;

if (keyCode >= 37 && keyCode <= 40) {
event.preventDefault();
ChangeTarget(keyCode);
setTimeout(function () {
}, 10000);
}
});

在 Ajax 完成其工作之前我不想记录任何关键事件!!!

最佳答案

您可以使用 bool 标志而不是取消绑定(bind)。

这是一个例子:

var keyNavigationDisabled = false;

$('#tbl tbody').on('keydown', function (event) {
if (keyNavigationDisabled) return;
var keyCode = event.keyCode;
if (keyCode >= 37 && keyCode <= 40) {
event.preventDefault();
ChangeTarget(keyCode)
}
});

function getRemoteData() {
keyNavigationDisabled = true;
$.ajax({
url: 'http://example.com',
complete: function () {
keyNavigationDisabled = false;
}
});
}

关于javascript - 如何在Jquery中解除keydown事件的绑定(bind)一段时间然后再次绑定(bind)它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14375271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com