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);
|
||||
}
|
||||
|
||||
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);
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue