单击按钮后Javascript取消设置超时

单击按钮后Javascript取消设置超时,javascript,Javascript,有一个确定按钮和一个取消按钮 下面的代码将执行此操作: 打开对话框输入后,10秒后自动单击取消按钮 if(SceneManager._scene instanceof Scene_InputDialog) { setTimeout(function () {document.getElementById("inputDialog-CancelBtn").click();}, 10000); } 如果在这10个seoconds期间单击ok按钮,我将在下面看到此错误。(因为在10秒后,它将尝试

有一个确定按钮和一个取消按钮

下面的代码将执行此操作:

打开对话框输入后,10秒后自动单击取消按钮

if(SceneManager._scene instanceof Scene_InputDialog) {
  setTimeout(function () {document.getElementById("inputDialog-CancelBtn").click();}, 10000);
}
如果在这10个seoconds期间单击ok按钮,我将在下面看到此错误。(因为在10秒后,它将尝试自动单击不再存在的cancel按钮;如果单击ok按钮,cancel按钮将消失)

未捕获类型错误:无法读取null的属性“click”

如果单击“确定”按钮,如何清除设置超时? 提前谢谢你的帮助

如果我需要添加对OK按钮处理程序的引用,我应该如何添加它。 下面是我的其他代码

okButton.addEventListener('click',函数(e){ okFunc(); e、 预防默认值(); },假); cancelButton.addEventListener('click',函数(e){ cancelFunc(); e、 预防默认值(); },假); okButton.addEventListener('touchend',函数(e){ okFunc(); e、 预防默认值(); },假); cancelButton.addEventListener('touchend',函数(e){ cancelFunc(); e、 预防默认值(); },假)

这个._okFunc=okFunc; 这个._cancelFunc=cancelFunc; };

然后,您可以通过以下方式取消:

clearTimeout(myTimeout)
然后,您可以通过以下方式取消:

clearTimeout(myTimeout)

只需检查
document.getElementById(“inputDialog CancelBtn”)
之前是否不为空。单击()


要清除超时,“确定”按钮单击处理程序需要有一个对超时的引用,只进行空检查比较容易,您可以只检查
document.getElementById(“inputDialog CancelBtn”)
之前是否不为空。click()


要清除超时,“确定”按钮单击处理程序需要有一个对超时的引用,只进行空检查更容易

感谢我是Javascript新手。我已经更新了代码,如何添加对超时的引用?如果您正在进行空检查,则无需取消超时。如果(SceneManager.\u scene instanceof scene\u InputDialog){setTimeout(函数()if(document.getElementById(“InputDialog CancelBtn”)!==null)if{document.getElementById(“InputDialog CancelBtn”)。click();},10000);}if(SceneManager.\u scene instanceof scene\u InputDialog){超时(函数(){const cancelBtn=document.getElementById(“inputDialog cancelBtn”);if(cancelBtn){cancelBtn.click()},10000);}感谢我是Javascript新手。我已经更新了代码,如何添加对超时的引用?如果您正在执行null检查,则不需要取消超时。If(SceneManager.\u scene instanceof scene\u InputDialog){setTimeout(function()If(document.getElementById(“InputDialog CancelBtn”)!=null)If{document.getElementById(“inputDialog CancelBtn”)。单击();},10000);}如果(场景管理器){setTimeout(函数(){const CancelBtn=document.getElementById(“inputDialog CancelBtn”);如果(取消BTN){CancelBtn.click()},10000)}谢谢,我是Javascript新手。我已经更新了代码,在OK按钮处理程序函数中应该在哪里添加clearTimeout(myTimeout)。这是指向原始整个脚本的链接,没有添加我的代码,我不确定哪一个是处理程序函数,或者我应该将clearTimeout(myTimeout)放在哪里谢谢,我是Javascript新手。我已经更新了代码,在OK按钮处理程序函数中应该在哪里添加clearTimeout(myTimeout)。这是指向原始整个脚本的链接,没有添加我的代码,我不确定哪一个是处理程序函数,或者我应该将clearTimeout(myTimeout)放在哪里
if(SceneManager._scene instanceof Scene_InputDialog) {
  setTimeout(function () {
    const cancelBtn = document.getElementById("inputDialog-CancelBtn");
    if(cancelBtn) { 
      cancelBtn.click() 
    }
  }, 10000);
}