Javascript keyUp在没有按键的情况下触发
如果一个键被保持一定的时间,我会尝试使用一个事件触发器,如果用户在间隔结束之前释放该键,则不会这样做Javascript keyUp在没有按键的情况下触发,javascript,dom-events,Javascript,Dom Events,如果一个键被保持一定的时间,我会尝试使用一个事件触发器,如果用户在间隔结束之前释放该键,则不会这样做 const characters = /([AEIOUYNCaeiouync!\\?\\"])/g; var poppedUp = false; $(document).ready(function () { checkLetter(); }); function checkLetter() { var interval; $(document).on('keypr
const characters = /([AEIOUYNCaeiouync!\\?\\"])/g;
var poppedUp = false;
$(document).ready(function () {
checkLetter();
});
function checkLetter() {
var interval;
$(document).on('keypress', function(e) {
if (interval == null && characters.test(String.fromCharCode(e.keyCode))) {
console.log('keypress');
interval = setInterval(function() {
popUp();
called = true;
}, 400);
}
}).keyup(function(e) {
clearInterval(interval);
console.log('keyup');
poppedUp = false;
interval = null;
});
}
function popUp() {
if (!poppedUp) {
document.querySelector(".modal-popup").style.display = "flex";
poppedUp = true;
}
document.addEventListener('click', function()
{
document.querySelector(".modal-popup").style.display = "none";
});
}
我第一次按键时,控制台会正确记录keyPress和keyUp。第二次(如果我只是按下并立即释放),它只记录keyUp。这种模式随后重复。如果每个按键都有两个keyup
事件,您能否提供一个?