Javascript 使用$(“property=value]”。单击(),我希望两次单击之间有一个延迟

Javascript 使用$(“property=value]”。单击(),我希望两次单击之间有一个延迟,javascript,jquery,html,Javascript,Jquery,Html,我目前正在选择页面上的所有按钮。使用以下代码 $("button[data-capture=button123]").click(function(){ ...some code on click }); 最后,我一次单击了所有按钮,而我更愿意一次单击一个按钮,在两次单击之间使用延迟。您可以使用setTimeout: var buttonset = $('button[data-capture="button123"]'); buttonset.click(function(){

我目前正在选择页面上的所有按钮。使用以下代码

$("button[data-capture=button123]").click(function(){
    ...some code on click
});

最后,我一次单击了所有按钮,而我更愿意一次单击一个按钮,在两次单击之间使用延迟。

您可以使用
setTimeout

var buttonset = $('button[data-capture="button123"]');
buttonset.click(function(){
    setTimeout((function(){
    // code to implement
    }, 
    100//timeinterval in miliseconds can use variable also.
    );

}

您可以使用
setTimeout

var buttonset = $('button[data-capture="button123"]');
buttonset.click(function(){
    setTimeout((function(){
    // code to implement
    }, 
    100//timeinterval in miliseconds can use variable also.
    );

}

我估计您有多个按钮重复数据捕获

    var delay = 100;

    $("button[data-capture=button123]").each(function(i){
        $(this).click(function(){
           var timeout = setTimeout(function(){
             /* your code goes here*/
            }), delay * i );
        });
    });

我估计您有多个按钮重复数据捕获

    var delay = 100;

    $("button[data-capture=button123]").each(function(i){
        $(this).click(function(){
           var timeout = setTimeout(function(){
             /* your code goes here*/
            }), delay * i );
        });
    });

您应该迭代各种按钮并逐个单击它们。为此,您需要使用闭包来记住循环中
i
的值,如下所示:

var buttons = $('button[data-capture="button123"]'),
    delay = 500; // milliseconds

for (var i=0; i < buttons.length; i++) {
    (function(I) {
        buttons.eq(I).click(function(){
            setTimeout(function() {
                // some code
            }, delay * I);            
        });
    })(i);
}
var buttons=$('button[data capture=“button123”]),
延迟=500;//毫秒
对于(变量i=0;i
您应该迭代各种按钮,然后逐个单击它们。为此,您需要使用闭包来记住循环中
i
的值,如下所示:

var buttons = $('button[data-capture="button123"]'),
    delay = 500; // milliseconds

for (var i=0; i < buttons.length; i++) {
    (function(I) {
        buttons.eq(I).click(function(){
            setTimeout(function() {
                // some code
            }, delay * I);            
        });
    })(i);
}
var buttons=$('button[data capture=“button123”]),
延迟=500;//毫秒
对于(变量i=0;i
如何一次单击所有按钮?搜索
js debounce
如何一次单击所有按钮?搜索
js debounce
为什么不直接使用
按钮set。单击
而不使用
来搜索。。。在
循环中?由于回调是在单击按钮时调用的,因此应该没有任何区别。您不应该使用
对jQuery结果集进行迭代。。。在
中,因为这还将迭代所有其他属性,如
长度
换行
@t、 问题中的侄女,他提到了延迟,所以我认为这会很好。我不知道OP真正感兴趣的是什么。我的评论只是关于你回答的糟糕风格。您当前的代码与您最初的代码完全相同,没有错误地使用
for。。。在
中。谢谢你的评论。我对这些东西没有那么多经验。只是在学习。你为什么不直接使用
按钮设置。单击
而不使用
来。。。在
循环中?由于回调是在单击按钮时调用的,因此应该没有任何区别。您不应该使用
对jQuery结果集进行迭代。。。在
中,因为这还将迭代所有其他属性,如
长度
换行
@t、 问题中的侄女,他提到了延迟,所以我认为这会很好。我不知道OP真正感兴趣的是什么。我的评论只是关于你回答的糟糕风格。您当前的代码与您最初的代码完全相同,没有错误地使用
for。。。在
中。谢谢你的评论。我对这些东西不是很有经验。只是在学习。
I
对于所有回调(
按钮。长度
)因为每个回调都使用相同的值,而且由于在单击按钮时计算了延迟*i
。@MarcoBonelli当我输入上述代码时,我得到“未定义”。“I”是什么意思?@user1283103在匿名函数中使用I来记住I的值。如果您使用使用i的函数设置超时,那么您将得到许多具有相同i的identycal函数(for中的最后一个)。使用I,您可以存储每个I的值,然后您的函数将记住它。
I
对于所有回调(
按钮。长度
)因为每个回调都使用相同的值,而且由于在单击按钮时计算了延迟*i
。@MarcoBonelli当我输入上述代码时,我得到“未定义”。“I”是什么意思?@user1283103在匿名函数中使用I来记住I的值。如果您使用使用i的函数设置超时,那么您将得到许多具有相同i的identycal函数(for中的最后一个)。使用I,您可以存储每个I的值,然后您的函数将记住它。