Subtract page scroll from button position, since clientX/Y is relative to the viewport not page

This commit is contained in:
Gregers Gram Rygg
2013-02-11 16:32:38 +01:00
parent df6e0a0846
commit 97c793281f

View File

@@ -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: {