如何防止双击鼠标(一次)

时间:2013-09-24 10:48:06

标签: javascript jquery

   $(document).ready(function() {
    $(".voteMe").one('click', function (event) { 
              event.preventDefault();          
           //my stuff

$(this).prop('disabled', true);
        });
    });

上面的代码允许单击鼠标。但它不允许下一次点击我的意思是下一次单击鼠标它假设双击。我的最终结论是我希望允许所有单击并禁止双击(当消费者输入双击时,它只需要单击一次)

5 个答案:

答案 0 :(得分:1)

使用以下代码

 $(".voteMe").click(function (e) {
        if ($(this).hasClass('clicked')) return;
        $(this).addClass('clicked');
         setTimeout(function() { $(this).removeClass('clicked'); }, 500);

    });

答案 1 :(得分:0)

您可以使用setTimeout()函数并阻止在指定的时间段内执行处理程序:

$(".voteMe").on('click', function (event) {
    if ($(this).hasClass('clicked')) return;

    var $this = $(this).addClass('clicked');
    setTimeout(function() { $this.removeClass('clicked'); }, 500);

    // ...
});

答案 2 :(得分:0)

试试这个:

 $(document).ready(function() {
    $(".voteMe").one('click', function (event) { 
          event.preventDefault();          
       //my stuff

       $(this).prop('disabled', true);

       $(".voteMe").unbind("click");
    });
});

答案 3 :(得分:-1)

然后你应该解开双击:

$('.voteMe').unbind('dblclick');

答案 4 :(得分:-2)

Jquery bind double click and single click separately

var DELAY = 700,     clicks = 0,     timer = null;

$(document).ready(function(){

$("a")
.live("click", function(e){

    clicks++;  //count clicks

    if(clicks === 1) {

        timer = setTimeout(function() {

            alert('Single Click'); //perform single-click action

            clicks = 0;  //after action performed, reset counter

        }, DELAY);

    } else {

        clearTimeout(timer);  //prevent single-click action

        alert('Double Click');  //perform double-click action

        clicks = 0;  //after action performed, reset counter
    }

})
.live("dblclick", function(e){
    e.preventDefault();  //cancel system double-click event
});

});