$(document).ready(function() {
$(".voteMe").one('click', function (event) {
event.preventDefault();
//my stuff
$(this).prop('disabled', true);
});
});
приведенный выше код позволяет одиночному щелчку мыши. Но это не позволяет следующий щелчок, я имею в виду следующий щелчок мышью, он предполагает двойной щелчок. мой окончательный вывод: я хочу разрешить все одиночные клики и разрешать двойные щелчки (когда когда-либо потребитель вводит двойной щелчок, он будет принимать только один клик)
Использовать следующий код
$(".voteMe").click(function (e) {
if ($(this).hasClass('clicked')) return;
$(this).addClass('clicked');
setTimeout(function() { $(this).removeClass('clicked'); }, 500);
});
попробуй это:
$(document).ready(function() {
$(".voteMe").one('click', function (event) {
event.preventDefault();
//my stuff
$(this).prop('disabled', true);
$(".voteMe").unbind("click");
});
});
Затем вы должны развязать двойной клик:
$('.voteMe').unbind('dblclick');
Вы можете использовать функцию setTimeout()
и предотвратить выполнение обработчика за определенный период времени:
$(".voteMe").on('click', function (event) {
if ($(this).hasClass('clicked')) return;
var $this = $(this).addClass('clicked');
setTimeout(function() { $this.removeClass('clicked'); }, 500);
// ...
});
Jquery связывает двойной клик и один клик отдельно
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
});
});
one
является причиной, по которой он может щелкнуть только один раз.