diff --git a/process/static/js/mailbox-viewer.js b/process/static/js/mailbox-viewer.js index 620e26e06f5f708e81cdd15eb2e6bb9ad4a4a2c7..e724b01666c48d2d407830dff8d75850977ee3a3 100644 --- a/process/static/js/mailbox-viewer.js +++ b/process/static/js/mailbox-viewer.js @@ -3,6 +3,11 @@ const epoch = "1970-01-01T00:00:00+00:00"; +function has_modifiers(evt) +{ + return evt.altKey || evt.ctrlKey || evt.isComposing || evt.metaKey || evt.shiftKey; +} + class MessageTable { constructor(options) @@ -14,6 +19,10 @@ class MessageTable this.table = $(this.el_table).find("table"); this.el_tbody.addEventListener("keydown", evt => { + // Skip all events with modifiers, since we don't use any, and this + // way we prevent eating browser shortcuts + if (has_modifiers(evt)) + return; const code = evt.code; let ignored = false; if (code == "Escape") @@ -39,6 +48,9 @@ class MessageTable }); this.el_tbody.addEventListener("wheel", evt => { + // Skip all events with modifiers, since we don't use any so far + if (has_modifiers(evt)) + return; if (evt.deltaY < 0) this.prev_message(); else @@ -46,6 +58,9 @@ class MessageTable }); this.el_tbody.addEventListener("click", evt => { + // Skip all events with modifiers, since we don't use any so far + if (has_modifiers(evt)) + return; // Find the row clicked let tr = evt.target; while (tr && tr.tagName != "TR")