diff --git a/lib/OpenLayers/Handler/MouseWheel.js b/lib/OpenLayers/Handler/MouseWheel.js index 0228c0b74c..7cfc40cfce 100644 --- a/lib/OpenLayers/Handler/MouseWheel.js +++ b/lib/OpenLayers/Handler/MouseWheel.js @@ -176,7 +176,12 @@ OpenLayers.Handler.MouseWheel = OpenLayers.Class(OpenLayers.Handler, { e = window.event; } if (e.wheelDelta) { - delta = e.wheelDelta/this.analogWheelPrecision; + delta = e.wheelDelta; + if (delta % 120 === 0) { + delta = delta / 120; + } else { + delta = delta / this.analogWheelPrecision; + } if (window.opera && window.opera.version() < 9.2) { delta = -delta; } diff --git a/tests/Handler/MouseWheel.html b/tests/Handler/MouseWheel.html index 1d2a6b7eb5..d41c2cd18c 100644 --- a/tests/Handler/MouseWheel.html +++ b/tests/Handler/MouseWheel.html @@ -107,7 +107,7 @@ var activated = handler.activate(); - var delta = 360; + var delta = 120; if (window.opera && window.opera.version() < 9.2) delta = -delta; handler.onWheelEvent({'target':map.layers[0].div, wheelDelta: delta}); handler.onWheelEvent({'target':map.layers[0].div, wheelDelta: delta});