$(document).ready(function() {
$(".voteMe").one('click', function (event) {
event.preventDefault();
//my stuff
$(this).prop('disabled', true);
});
});
上面的代码允许单击鼠标。但它不允许下一次点击我的意思是下一次单击鼠标它假设双击。我的最终结论是我希望允许所有单击并禁止双击(当消费者输入双击时,它只需要单击一次)
答案 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
});
});