use wheel event on new versions of Firefox

fixes #1466
This commit is contained in:
nightwing 2013-06-30 22:07:23 +04:00
commit f6f3425cce

View file

@ -141,9 +141,9 @@ else {
}
exports.addMouseWheelListener = function(el, callback) {
var factor = 8;
var listener = function(e) {
if (e.wheelDelta !== undefined) {
if ("onmousewheel" in el) {
var factor = 8;
exports.addListener(el, "DOMMouseScroll", function(e) {
if (e.wheelDeltaX !== undefined) {
e.wheelX = -e.wheelDeltaX / factor;
e.wheelY = -e.wheelDeltaY / factor;
@ -151,8 +151,16 @@ exports.addMouseWheelListener = function(el, callback) {
e.wheelX = 0;
e.wheelY = -e.wheelDelta / factor;
}
}
else {
callback(e);
});
} else if ("onwheel" in el) {
exports.addListener(el, "wheel", function(e) {
e.wheelX = (e.deltaX || 0) * 5;
e.wheelY = (e.deltaY || 0) * 5;
callback(e);
});
} else {
exports.addListener(el, "DOMMouseScroll", function(e) {
if (e.axis && e.axis == e.HORIZONTAL_AXIS) {
e.wheelX = (e.detail || 0) * 5;
e.wheelY = 0;
@ -160,11 +168,9 @@ exports.addMouseWheelListener = function(el, callback) {
e.wheelX = 0;
e.wheelY = (e.detail || 0) * 5;
}
}
callback(e);
};
exports.addListener(el, "DOMMouseScroll", listener);
exports.addListener(el, "mousewheel", listener);
callback(e);
});
}
};
exports.addMultiMouseDownListener = function(el, timeouts, eventHandler, callbackName) {