Subtract page scroll from button position, since clientX/Y is relative to the viewport not page
This commit is contained in:
@@ -170,6 +170,12 @@ OpenLayers.Events.buttonclick = OpenLayers.Class({
|
|||||||
} else if (this.startEvt) {
|
} else if (this.startEvt) {
|
||||||
if (this.completeRegEx.test(evt.type)) {
|
if (this.completeRegEx.test(evt.type)) {
|
||||||
var pos = OpenLayers.Util.pagePosition(button);
|
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", {
|
this.target.triggerEvent("buttonclick", {
|
||||||
buttonElement: button,
|
buttonElement: button,
|
||||||
buttonXY: {
|
buttonXY: {
|
||||||
|
|||||||
Reference in New Issue
Block a user