From 97c793281f4dbb6610faf996197c621a4e9148ab Mon Sep 17 00:00:00 2001 From: Gregers Gram Rygg Date: Mon, 11 Feb 2013 16:32:38 +0100 Subject: [PATCH] Subtract page scroll from button position, since clientX/Y is relative to the viewport not page --- lib/OpenLayers/Events/buttonclick.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/OpenLayers/Events/buttonclick.js b/lib/OpenLayers/Events/buttonclick.js index e0b2a87514..89e10e16e0 100644 --- a/lib/OpenLayers/Events/buttonclick.js +++ b/lib/OpenLayers/Events/buttonclick.js @@ -170,6 +170,12 @@ OpenLayers.Events.buttonclick = OpenLayers.Class({ } else if (this.startEvt) { if (this.completeRegEx.test(evt.type)) { var pos = OpenLayers.Util.pagePosition(button); + var viewportElement = OpenLayers.Util.getViewportElement(); + var scrollTop = window.pageYOffset || viewportElement.scrollTop; + var scrollLeft = window.pageXOffset || viewportElement.scrollLeft; + pos[0] = pos[0] - scrollLeft; + pos[1] = pos[1] - scrollTop; + this.target.triggerEvent("buttonclick", { buttonElement: button, buttonXY: {