对于前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/

10-09 14:23