From 5b151a3db4e65b544629091ee40508f79a8a8e5f Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 29 Dec 2013 19:59:16 +0400 Subject: [PATCH] fix scrolling speed on firefox ux --- lib/ace/lib/event.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/ace/lib/event.js b/lib/ace/lib/event.js index 4d407dfc..36250d2f 100644 --- a/lib/ace/lib/event.js +++ b/lib/ace/lib/event.js @@ -118,8 +118,8 @@ exports.capture = function(el, eventHandler, releaseCaptureHandler) { exports.addMouseWheelListener = function(el, callback) { if ("onmousewheel" in el) { - var factor = 8; exports.addListener(el, "mousewheel", function(e) { + var factor = 8; if (e.wheelDeltaX !== undefined) { e.wheelX = -e.wheelDeltaX / factor; e.wheelY = -e.wheelDeltaY / factor; @@ -131,8 +131,19 @@ exports.addMouseWheelListener = function(el, callback) { }); } else if ("onwheel" in el) { exports.addListener(el, "wheel", function(e) { - e.wheelX = (e.deltaX || 0) * 5; - e.wheelY = (e.deltaY || 0) * 5; + var factor = 0.35; + switch (e.deltaMode) { + case e.DOM_DELTA_PIXEL: + e.wheelX = e.deltaX * factor || 0; + e.wheelY = e.deltaY * factor || 0; + break; + case e.DOM_DELTA_LINE: + case e.DOM_DELTA_PAGE: + e.wheelX = (e.deltaX || 0) * 5; + e.wheelY = (e.deltaY || 0) * 5; + break; + } + callback(e); }); } else {