Saya menemukan bahwa jawaban John Strickler tidak cukup sesuai dengan yang saya harapkan. Setelah peringatan dipicu oleh klik kedua dalam jendela dua detik, setiap klik berikutnya memicu peringatan lain sampai Anda menunggu dua detik sebelum mengklik lagi. Jadi dengan kode John, klik tiga kali bertindak sebagai dua klik ganda di mana saya mengharapkannya untuk bertindak seperti klik dua kali diikuti dengan satu klik.
Saya telah mengerjakan ulang solusinya agar berfungsi dengan cara ini dan mengalir dengan cara yang dapat dipahami pikiran saya dengan lebih baik. Saya menurunkan penundaan dari 2000 menjadi 700 untuk lebih mensimulasikan apa yang saya rasakan sebagai sensitivitas normal. Ini biolanya: http://jsfiddle.net/KpCwN/4/ .
Terima kasih untuk yayasannya, John. Saya harap versi alternatif ini bermanfaat bagi orang lain.
var DELAY = 700, clicks = 0, timer = null;
$(function(){
$("a").on("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
}
})
.on("dblclick", function(e){
e.preventDefault(); //cancel system double-click event
});
});