使用$(“[property = value]”)。click(),我希望点击之间有延迟

时间:2014-09-28 18:16:31

标签: javascript jquery html html5

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

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

我最后一次点击所有按钮,我希望一次点击一个按钮,使用点击之间的延迟。

4 个答案:

答案 0 :(得分:3)

您应该遍历各个按钮并逐个单击它们。要做到这一点,你需要使用一个闭包来记住循环中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);
}

答案 1 :(得分:2)

我假设您有多个按钮重复数据捕获

    var delay = 100;

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

答案 2 :(得分:0)

您可以使用setTimeout

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

}

答案 3 :(得分:0)

  $("button[data-capture=button123]").click(function(){
         $("button[data-capture=button123]").each(function(){
                // apply delay() here or  some setTimeout logic
         });
   });