Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户停止单击时触发事件_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript 当用户停止单击时触发事件

Javascript 当用户停止单击时触发事件,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我能够使用jQuery检测按钮上的clik $('#myButton').click(function(){ // do something }); 但是,当用户多次单击按钮时,它会触发不必要的中介事件 我只想在最后一次点击按钮时触发事件 差不多 $('#myButton').lastClickOnASequenceOfClicks(function(){ // ignore the multiple clicks followed // do something only on

我能够使用jQuery检测按钮上的clik

$('#myButton').click(function(){
  // do something
});
但是,当用户多次单击按钮时,它会触发不必要的中介事件

我只想在最后一次点击按钮时触发事件

差不多

$('#myButton').lastClickOnASequenceOfClicks(function(){
  // ignore the multiple clicks followed
  // do something only on the last click of a sequence of clicks
});

这样,如果用户单击10次(间隔一点时间),它应该只在第十次单击时触发事件。

每次单击都会重置计时器

var timer;

$("#myButton").click(function () {
    var timeToWait = 1000;
    clearTimeout(timer);
    timer = setTimeout(function () {
        // do something only on the last click
    }, timeToWait);
}
更新

解决此问题的另一种方法是处理用户生成的“多次单击事件”,即执行OP comments部分中提到的操作<代码>在第一次单击时执行操作,然后禁用按钮,这样用户就不能再单击它了(也可以设置按钮再次启用的时间)


每次单击都会重置计时器

var timer;

$("#myButton").click(function () {
    var timeToWait = 1000;
    clearTimeout(timer);
    timer = setTimeout(function () {
        // do something only on the last click
    }, timeToWait);
}
更新

解决此问题的另一种方法是处理用户生成的“多次单击事件”,即执行OP comments部分中提到的操作<代码>在第一次单击时执行操作,然后禁用按钮,这样用户就不能再单击它了(也可以设置按钮再次启用的时间)


每次单击都会重置计时器

var timer;

$("#myButton").click(function () {
    var timeToWait = 1000;
    clearTimeout(timer);
    timer = setTimeout(function () {
        // do something only on the last click
    }, timeToWait);
}
更新

解决此问题的另一种方法是处理用户生成的“多次单击事件”,即执行OP comments部分中提到的操作<代码>在第一次单击时执行操作,然后禁用按钮,这样用户就不能再单击它了(也可以设置按钮再次启用的时间)


每次单击都会重置计时器

var timer;

$("#myButton").click(function () {
    var timeToWait = 1000;
    clearTimeout(timer);
    timer = setTimeout(function () {
        // do something only on the last click
    }, timeToWait);
}
更新

解决此问题的另一种方法是处理用户生成的“多次单击事件”,即执行OP comments部分中提到的操作<代码>在第一次单击时执行操作,然后禁用按钮,这样用户就不能再单击它了(也可以设置按钮再次启用的时间)



设置点击超时?@FélixGagnon Grenier你的意思是“保存”最后一次点击的时间并进行比较?我想了,但是我怎么知道我是否在最后一次点击?必须停止单击,等待,然后再次单击…如果您只想在最后一次单击时触发事件,您将始终需要等待一段时间,以查看是否再次单击。为什么不在第一次单击时启动,然后在一段时间内禁用按钮?@76484例如,如果我有一个产品列表,并且按钮在一个div上加载下一个产品。然后,如果用户快速单击多次,则加载每个产品或阻止按钮将降低用户的体验。。。有几种情况是这样的……单击时设置超时?@FélixGagnon Grenier你的意思是“保存”最后一次单击的时间并进行比较?我想了,但是我怎么知道我是否在最后一次点击?必须停止单击,等待,然后再次单击…如果您只想在最后一次单击时触发事件,您将始终需要等待一段时间,以查看是否再次单击。为什么不在第一次单击时启动,然后在一段时间内禁用按钮?@76484例如,如果我有一个产品列表,并且按钮在一个div上加载下一个产品。然后,如果用户快速单击多次,则加载每个产品或阻止按钮将降低用户的体验。。。有几种情况是这样的……单击时设置超时?@FélixGagnon Grenier你的意思是“保存”最后一次单击的时间并进行比较?我想了,但是我怎么知道我是否在最后一次点击?必须停止单击,等待,然后再次单击…如果您只想在最后一次单击时触发事件,您将始终需要等待一段时间,以查看是否再次单击。为什么不在第一次单击时启动,然后在一段时间内禁用按钮?@76484例如,如果我有一个产品列表,并且按钮在一个div上加载下一个产品。然后,如果用户快速单击多次,则加载每个产品或阻止按钮将降低用户的体验。。。有几种情况是这样的……单击时设置超时?@FélixGagnon Grenier你的意思是“保存”最后一次单击的时间并进行比较?我想了,但是我怎么知道我是否在最后一次点击?必须停止单击,等待,然后再次单击…如果您只想在最后一次单击时触发事件,您将始终需要等待一段时间,以查看是否再次单击。为什么不在第一次单击时启动,然后在一段时间内禁用按钮?@76484例如,如果我有一个产品列表,并且按钮在一个div上加载下一个产品。然后,如果用户快速单击多次,则加载每个产品或阻止按钮将降低用户的体验。。。有几种情况是这样的……这不起作用,因为每次单击都要声明一个新的计时器变量。“var timer”应该移到click事件处理程序之外!抢手货我看着它,似乎有点不对劲,哈哈。这不起作用,因为每次单击都会声明一个新的计时器变量。“var timer”应该移到click事件处理程序之外!抢手货我看着它,似乎有点不对劲,哈哈。这不起作用,因为每次单击都会声明一个新的计时器变量。“var timer”应该移到click事件处理程序之外!抢手货我看着它,似乎有点不对劲,哈哈。这不起作用,因为每次单击都会声明一个新的计时器变量。“var timer”应该移到click事件处理程序之外!抢手货我看着它,好像有什么不对劲,哈哈。