首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用$("[property=value]").click(),我希望在单击之间有一个延迟

使用$("[property=value]").click(),我希望在单击之间有一个延迟
EN

Stack Overflow用户
提问于 2014-09-28 18:16:31
回答 4查看 73关注 0票数 1

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

代码语言:javascript
复制
$("button[data-capture=button123]").click(function(){
    ...some code on click
});

最后,我会同时点击所有的按钮,就像我希望一次点击一个按钮一样,在点击之间使用延迟。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-09-28 18:21:45

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

代码语言:javascript
复制
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);
}
票数 3
EN

Stack Overflow用户

发布于 2014-09-28 18:21:09

我建议您有多个按钮重复数据捕获。

代码语言:javascript
复制
    var delay = 100;

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

Stack Overflow用户

发布于 2014-09-28 18:20:53

您可以使用setTimeout

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

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26088015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档