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