From 8701a54603ff5ab160cd2e4d20d0e51bdd90ee97 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Fri, 7 Dec 2012 21:09:09 +0100 Subject: [PATCH] Cloning event for use in delayed function In IE, where window.event is used, the event can change during the delay. To avoid this, we store the event properties in a new object. --- lib/OpenLayers/Handler/MouseWheel.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/OpenLayers/Handler/MouseWheel.js b/lib/OpenLayers/Handler/MouseWheel.js index a64747e47e..c207f2dadb 100644 --- a/lib/OpenLayers/Handler/MouseWheel.js +++ b/lib/OpenLayers/Handler/MouseWheel.js @@ -183,9 +183,11 @@ OpenLayers.Handler.MouseWheel = OpenLayers.Class(OpenLayers.Handler, { if(this.interval) { window.clearTimeout(this._timeoutId); + // store e because window.event might change during delay + var evt = OpenLayers.Util.extend({}, e); this._timeoutId = window.setTimeout( OpenLayers.Function.bind(function(){ - this.wheelZoom(e); + this.wheelZoom(evt); }, this), this.interval );