मैंने पाया कि जॉन स्ट्रिकलर के जवाब में वह नहीं हुआ जो मैं उम्मीद कर रहा था। एक बार दो-सेकंड विंडो के भीतर एक दूसरे क्लिक से अलर्ट चालू हो जाता है, बाद में हर क्लिक एक और अलर्ट को ट्रिगर करता है जब तक कि आप दोबारा क्लिक करने से दो सेकंड इंतजार नहीं करते। इसलिए जॉन के कोड के साथ, एक ट्रिपल क्लिक दो डबल क्लिक के रूप में कार्य करता है जहां मैं यह उम्मीद करूंगा कि यह एक सिंगल क्लिक के बाद डबल क्लिक की तरह काम करे।
मैंने इस तरह से कार्य करने के लिए और मेरे दिमाग को बेहतर तरीके से समझने के लिए एक तरह से प्रवाह करने के लिए उसके समाधान को फिर से काम किया है। मैंने 2000 से 700 तक की देरी को बेहतर तरीके से कम करने के लिए गिरा दिया जो मुझे एक सामान्य संवेदनशीलता होगी। यहाँ की फिडेल है: http://jsfiddle.net/KpCwN/4/ ।
नींव के लिए धन्यवाद, जॉन। मुझे उम्मीद है कि यह वैकल्पिक संस्करण दूसरों के लिए उपयोगी है।
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
});
});