在满足特定条件时触发keyup事件函数



我有一段代码,其中用户当他/她按下NumpadEnter键时,某个功能触发:

document.addEventListener("keyup", function(event) {
if (event.code === "NumpadEnter") {   
//some logic here    
}
}

现在我想在满足特定条件时触发keyup函数:

if(flag == true){
//trigger the keyup listener
}

我该怎么做?

不要触发事件。相反,将逻辑放在事件处理程序和其他代码都将调用的单独函数中:

function performAction() {
// logic here
}
document.addEventListener("keyup", function(event) {
if (event.code === "NumpadEnter") {   
performAction(); 
}
}
// Now I want to trigger this keyup function when a certain condition is met:
if (flag == true){
performAction();
}

将keyup侦听器放在标志检查器中。然后,传递一个函数来处理该事件。设置如下所示的函数:

function handleEvent(event) {
if (event.code === "NumpadEnter") {   
//some logic here    
}
}
if(flag == true){
//trigger the keyup listener
document.addEventListener("keyup", handleEvent)
}

最新更新