From de732e19063c2dbcedd866da9e4603c8d31a31da Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Thu, 8 Apr 2010 13:28:04 +0200 Subject: [PATCH] update triple click support --- lib.js | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/lib.js b/lib.js index 2a2301be..744e89aa 100644 --- a/lib.js +++ b/lib.js @@ -130,22 +130,28 @@ capture = function(el, eventHandler, releaseCaptureHandler) document.addEventListener("mouseup", onMouseUp, true); } +function autoRemoveListener(el, type, callback, timeout) +{ + var listener = function(e) + { + clearTimeout(timeoutId); + remove(); + callback(e); + } + + var remove = function() { + removeListener(el, type, listener); + }; + + addListener(el, type, listener); + var timeoutId = setTimeout(remove, timeout); +} + function addTripleClickListener(el, callback) { - addListener(el, "dblclick", function() - { - var listener = function(e) - { - clearTimeout(timeoutId); - remove(); - callback(e); - } - - var remove = function() { - removeListener(el, "click", listener); - }; - - addListener(el, "click", listener); - var timeoutId = setTimeout(remove, 300); + addListener(el, "mousedown", function() { + autoRemoveListener(el, "mousedown", function() { + autoRemoveListener(el, "mousedown", callback, 300); + }, 300); }); } \ No newline at end of file