对于前3秒钟,变量x的值为0,3秒钟后变量x的值设置为1。
每当我们在0到3秒之间单击按钮时,都不应调用handleClick函数。
每当我们在3秒后单击按钮时,都应调用handleClick函数。
以下是我正在使用的HTML和JS代码。但是即使3秒钟后也不会调用handleClick函数。
HTML:
<button class="quizy-mg-item">click here</button>
JS:
var x=0;
setTimeout(3000,function(){
x=1
})
function handleClick(){
document.write("Success");
}
if(x) {
$('.quizy-mg-item').click(handleClick);
}
最佳答案
试试这个代码,
setTimeout(function() {
$('.quizy-mg-item').click(handleClick);
},3000);
function handleClick(){
document.write("Success");
}
您的setTimeout函数的参数顺序错误。
也在这里,
if(x) {
$('.quizy-mg-item').click(handleClick);
}
在
if
内部进行条件检查时,x
实际上为0,因此没有附加click
处理程序。以后与x
的值无关。ps。不要使用
document.write
,请使用console.log
进行调试。关于javascript - 监听变量值的变化并处理click事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15468932/