fix triple clicks in IE
This commit is contained in:
parent
574db72780
commit
d83854e5bc
1 changed files with 20 additions and 20 deletions
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
this.isIE = ! + "\v1";
|
||||||
|
|
||||||
this.addListener = function(elem, type, callback) {
|
this.addListener = function(elem, type, callback) {
|
||||||
if (elem.addEventListener) {
|
if (elem.addEventListener) {
|
||||||
return elem.addEventListener(type, callback, false);
|
return elem.addEventListener(type, callback, false);
|
||||||
|
|
@ -118,27 +120,25 @@
|
||||||
self.addListener(el, "mousewheel", listener);
|
self.addListener(el, "mousewheel", listener);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.autoremoveListener = function(el, type, callback, timeout) {
|
|
||||||
var listener = function(e) {
|
|
||||||
clearTimeout(timeoutId);
|
|
||||||
remove();
|
|
||||||
callback(e);
|
|
||||||
};
|
|
||||||
|
|
||||||
var remove = function() {
|
|
||||||
self.removeListener(el, type, listener);
|
|
||||||
};
|
|
||||||
|
|
||||||
self.addListener(el, type, listener);
|
|
||||||
var timeoutId = setTimeout(remove, timeout);
|
|
||||||
};
|
|
||||||
|
|
||||||
this.addTripleClickListener = function(el, callback) {
|
this.addTripleClickListener = function(el, callback) {
|
||||||
self.addListener(el, "mousedown", function() {
|
var clicks = 0;
|
||||||
self.autoremoveListener(el, "mousedown", function() {
|
var listener = function(e) {
|
||||||
self.autoremoveListener(el, "mousedown", callback, 300);
|
clicks += 1;
|
||||||
}, 300);
|
if (clicks == 1) {
|
||||||
});
|
setTimeout(function() {
|
||||||
|
clicks = 0;
|
||||||
|
}, 600);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clicks == 3) {
|
||||||
|
clicks = 0;
|
||||||
|
callback(e);
|
||||||
|
}
|
||||||
|
return self.preventDefault(e);
|
||||||
|
};
|
||||||
|
|
||||||
|
self.addListener(el, "mousedown", listener);
|
||||||
|
this.isIE && self.addListener(el, "dblclick", listener);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.addKeyListener = function(el, callback) {
|
this.addKeyListener = function(el, callback) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue