John Strickler'in cevabının beklediğim şeyi tam olarak yapmadığını anladım. Uyarı, iki saniyelik pencerede ikinci bir tıklama ile tetiklendiğinde, sonraki her tıklama, siz tekrar tıklamadan önce iki saniye bekleyene kadar başka bir uyarıyı tetikler. Dolayısıyla, John'un koduyla, üçlü tıklama, çift tıklama ve ardından tek tıklama gibi davranmasını beklediğim iki çift tıklama gibi davranır.
Çözümünü bu şekilde işleyecek ve zihnimin daha iyi anlayabileceği bir şekilde akacak şekilde yeniden çalıştım. Normal bir hassasiyet olarak hissettiğim şeyi daha iyi simüle etmek için gecikmeyi 2000'den 700'e düşürdüm. İşte keman: http://jsfiddle.net/KpCwN/4/ .
Vakıf için teşekkürler, John. Umarım bu alternatif sürüm başkaları için yararlıdır.
var DELAY = 700, clicks = 0, timer = null;
$(function(){
$("a").on("click", function(e){
clicks++;
if(clicks === 1) {
timer = setTimeout(function() {
alert("Single Click");
clicks = 0;
}, DELAY);
} else {
clearTimeout(timer);
alert("Double Click");
clicks = 0;
}
})
.on("dblclick", function(e){
e.preventDefault();
});
});