summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/js/handlers.js12
1 files changed, 11 insertions, 1 deletions
diff --git a/assets/js/handlers.js b/assets/js/handlers.js
index a417fcca..d3957b89 100644
--- a/assets/js/handlers.js
+++ b/assets/js/handlers.js
@@ -146,7 +146,17 @@
// Handle keypresses
window.addEventListener('keydown', (event) => {
// Ignore modifier keys
- if (event.ctrlKey || event.metaKey) { return; }
+ if (event.ctrlKey || event.metaKey) return;
+
+ // Ignore shortcuts if any text input is focused
+ let focused_tag = document.activeElement.tagName.toLowerCase();
+ let focused_type = document.activeElement.type.toLowerCase();
+ let allowed = /^(button|checkbox|file|radio|submit)$/;
+
+ if (focused_tag === "textarea" ||
+ (focused_tag === "input" && !focused_type.match(allowed))
+ )
+ return;
// Focus search bar on '/'
if (event.key == "/") {