From 2c38460b090686c55e8fe63e2cac1faa858c86d8 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Sun, 5 May 2019 10:06:54 +0200 Subject: [PATCH] Make sure an event triggered by Enter key press on a link is treated as a keyboard event --- program/js/common.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/program/js/common.js b/program/js/common.js index 9eb10a8b1..e409ac889 100644 --- a/program/js/common.js +++ b/program/js/common.js @@ -279,16 +279,20 @@ cancel: function(evt) }, /** - * Determine whether the given event was trigered from keyboard + * Determine whether the given event was triggered from keyboard */ is_keyboard: function(e) { if (!e) return false; + // DOM3-compatible + // An event invoked by pressing Enter on a link will produce a 'click' event, + // so we have to extend the check, e.g. with use of e.clientX. if (e.type) - return !!e.type.match(/^key/); // DOM3-compatible + return !!e.type.match(/^key/) || (e.type == 'click' && !e.clientX); + // Old browsers return !e.pageX && (e.pageY || 0) <= 0 && !e.clientX && (e.clientY || 0) <= 0; },