diff --git a/phpgwapi/js/egw_action/egw_action_popup.js b/phpgwapi/js/egw_action/egw_action_popup.js index 97844d0df2..427cff3d57 100644 --- a/phpgwapi/js/egw_action/egw_action_popup.js +++ b/phpgwapi/js/egw_action/egw_action_popup.js @@ -235,18 +235,18 @@ function egwPopupActionImplementation() { _egw_active_menu.hide() } - else + else if (!e.ctrlKey) { _xy = ai._getPageXY(e); _callback.call(_context, _xy, ai); } - e.cancelBubble = true; - if (e.stopPropagation) + e.cancelBubble = !e.ctrlKey; + if (e.stopPropagation && !e.ctrlKey) { e.stopPropagation(); } - return false; + return e.ctrlKey; } if (egwIsMobile()) { diff --git a/phpgwapi/js/egw_action/egw_keymanager.js b/phpgwapi/js/egw_action/egw_keymanager.js index ca2d6eae8a..b489150a58 100644 --- a/phpgwapi/js/egw_action/egw_keymanager.js +++ b/phpgwapi/js/egw_action/egw_keymanager.js @@ -179,12 +179,14 @@ $j(document).ready(function() { * Required to catch the context menu */ $j(window).on("contextmenu",document, function(event) { - if(egw_keyHandler(EGW_KEY_MENU, event.shiftKey, event.ctrlKey || event.metaKey, event.altKey)) + if(!event.ctrlKey && egw_keyHandler(EGW_KEY_MENU, event.shiftKey, event.ctrlKey || event.metaKey, event.altKey)) { // If the key handler successfully passed the key event to some // sub component, prevent the default action event.preventDefault(); + return false; } + return true; });