我有一个可能非常简单的问题,但没有找到任何关于此问题,或者可能没有为我的问题找到合适的词语。
如果要在keypress上执行一个函数,它也会改变我的变量A - fine,并且它可以工作。 但是现在我想为我的变量A提供一个替代值,如果没有发生按键事件。
所以我正在为
的天真逻辑寻找正确的命令if ("keypress event happens") {
A = 1
} else {
A = 2
}
有没有办法在js或jquery中对密钥事件进行简单的真/假检查? 我一直在尝试和尝试,但它没有工作过一次。
答案 0 :(得分:2)
通常,解决此问题的方法是使用setTimeout()
。您将计时器设置为N秒。如果按键发生,则取消定时器。如果按键没有发生,计时器将触发您的备用事件。
你可能会把它包装在某种你可以随时触发的功能中,但你没有分享整体上下文,所以这只是一般的想法:
$("#myObj").keypress(function(e) {
if (timer) {
clearTimeout(timer);
}
// process key
});
var timer = setTimeout(function() {
timer = null;
// key didn't happen within the alltoted time so fire the alternate behavior
}, 5000);