update triple click support
This commit is contained in:
parent
8135c9a612
commit
de732e1906
1 changed files with 21 additions and 15 deletions
36
lib.js
36
lib.js
|
|
@ -130,22 +130,28 @@ capture = function(el, eventHandler, releaseCaptureHandler)
|
||||||
document.addEventListener("mouseup", onMouseUp, true);
|
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)
|
function addTripleClickListener(el, callback)
|
||||||
{
|
{
|
||||||
addListener(el, "dblclick", function()
|
addListener(el, "mousedown", function() {
|
||||||
{
|
autoRemoveListener(el, "mousedown", function() {
|
||||||
var listener = function(e)
|
autoRemoveListener(el, "mousedown", callback, 300);
|
||||||
{
|
}, 300);
|
||||||
clearTimeout(timeoutId);
|
|
||||||
remove();
|
|
||||||
callback(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
var remove = function() {
|
|
||||||
removeListener(el, "click", listener);
|
|
||||||
};
|
|
||||||
|
|
||||||
addListener(el, "click", listener);
|
|
||||||
var timeoutId = setTimeout(remove, 300);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue