From 1bc652d71132c82f8ce89049f44f66bd2a11b34f Mon Sep 17 00:00:00 2001 From: Exodus4D Date: Wed, 25 Jan 2017 19:26:05 +0100 Subject: [PATCH] - fixed context menu bug in FF, #415 --- js/app/map/contextmenu.js | 22 ++++++++++++++++++---- public/js/v1.2.0/app/map/contextmenu.js | 22 ++++++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/js/app/map/contextmenu.js b/js/app/map/contextmenu.js index 5b9595dd..cce9f84e 100644 --- a/js/app/map/contextmenu.js +++ b/js/app/map/contextmenu.js @@ -52,12 +52,26 @@ define([ }).velocity(animationInType, { duration: animationInDuration, complete: function(){ - // set context menu "click" observer - // Firefox has a "nested" originalEvent ?! -> #415 + let posX = 0; + let posY = 0; + + if( + originalEvent.offsetX && + originalEvent.offsetY + ){ + // Chrome + posX = originalEvent.offsetX; + posY = originalEvent.offsetY ; + }else if(originalEvent.originalEvent){ + // Firefox -> #415 + posX = originalEvent.originalEvent.layerX; + posY = originalEvent.originalEvent.layerY ; + } + let position = { - x: originalEvent.offsetX || originalEvent.originalEvent.layerX, - y: originalEvent.offsetY || originalEvent.originalEvent.layerY + x: posX, + y: posY }; $(this).off('click').one('click', {component: component, position: position}, function (e) { diff --git a/public/js/v1.2.0/app/map/contextmenu.js b/public/js/v1.2.0/app/map/contextmenu.js index 5b9595dd..cce9f84e 100644 --- a/public/js/v1.2.0/app/map/contextmenu.js +++ b/public/js/v1.2.0/app/map/contextmenu.js @@ -52,12 +52,26 @@ define([ }).velocity(animationInType, { duration: animationInDuration, complete: function(){ - // set context menu "click" observer - // Firefox has a "nested" originalEvent ?! -> #415 + let posX = 0; + let posY = 0; + + if( + originalEvent.offsetX && + originalEvent.offsetY + ){ + // Chrome + posX = originalEvent.offsetX; + posY = originalEvent.offsetY ; + }else if(originalEvent.originalEvent){ + // Firefox -> #415 + posX = originalEvent.originalEvent.layerX; + posY = originalEvent.originalEvent.layerY ; + } + let position = { - x: originalEvent.offsetX || originalEvent.originalEvent.layerX, - y: originalEvent.offsetY || originalEvent.originalEvent.layerY + x: posX, + y: posY }; $(this).off('click').one('click', {component: component, position: position}, function (e) {