我有一个要求我要延迟单击的要求。 我想在每个循环延迟后触发点击事件。
var j = 0;
$(".classname").each(function(index) {
setTimeout(function(){
j = j + 1000;
$(this).click();
},j);
});
我不明白为什么它不起作用。点击根本不会发生。 但是,如果我删除延迟,则它可以正常工作。
var j = 0;
$(".classname").each(function(index) {
j = j + 1000;
$(this).click();
});
答案 0 :(得分:0)
$(this)
的范围对于每个功能都是不同的。
您应该将引用“保存”在变量中,然后在超时函数中使用它:
var j = 0;
$(".classname").each(function(index) {
var x = $(this); // LET's STORE this IN x
setTimeout(function(){
j = j + 1000;
$(x).click();
},j);
});