Javascript Jquery在单击后延迟,以允许不同的选择

Javascript Jquery在单击后延迟,以允许不同的选择,javascript,jquery,Javascript,Jquery,我已经添加了一段代码,其中包含了我希望在注释中实现的功能 共有9个按钮,我需要单击的按钮的数据id值,但用户可以单击一个按钮,然后快速决定要单击其他按钮,因此我需要他们单击的最后一个按钮的值 $( '#add-shot a.btn' ).on( 'click', function(e) { e.preventDefault(); // delay for 1500 // if no other button is clicked, then simply use $(

我已经添加了一段代码,其中包含了我希望在注释中实现的功能

共有9个按钮,我需要单击的按钮的数据id值,但用户可以单击一个按钮,然后快速决定要单击其他按钮,因此我需要他们单击的最后一个按钮的值

$( '#add-shot a.btn' ).on( 'click', function(e) {
    e.preventDefault();

    // delay for 1500
    // if no other button is clicked, then simply use $( this ).data('id');
    // else, 
    // if other button is clicked, don't use original data-id but use the new data-id

    var id = $( this ).data('id');
    // run the rest of the code

});

您可以将全局计时器与
setTimeout()
一起使用。每次单击时,只需清除超时,如果在1.5秒内没有单击任何一个,则将调用匿名函数并获取相应的
id

var定时器;
$(“按钮”)。打开(“单击”,函数(e){
e、 预防默认值();
var self=这个;
clearTimeout(计时器);//重置计时器。
timer=setTimeout(function(){//如果计时器
var id=$(self).data('id');//未在1.5秒内重置。
警报(id);
}, 1500);
});

福
酒吧
生意