aboutsummaryrefslogtreecommitdiff
path: root/p/scripts
diff options
context:
space:
mode:
authorGravatar Frans de Jonge <fransdejonge@gmail.com> 2021-12-03 00:58:40 +0100
committerGravatar GitHub <noreply@github.com> 2021-12-03 00:58:40 +0100
commitba48733f17006b5e07625a22811594e62033fcc8 (patch)
tree94c88c394dabd6bd9965eaf21135fd124596ce70 /p/scripts
parenta54aa19dc7f8cd344cdfb199ee94c01e0b90becc (diff)
Add preventDefault to keydown event handler (#4013)
* Add preventDefault to keydown event handler Fixes #3946. * review * silence technically correct but missing the picture check Co-authored-by: Frans de Jonge <frans@clevercast.com>
Diffstat (limited to 'p/scripts')
-rw-r--r--p/scripts/main.js63
1 files changed, 36 insertions, 27 deletions
diff --git a/p/scripts/main.js b/p/scripts/main.js
index f7a4d17f3..16ae7d0f0 100644
--- a/p/scripts/main.js
+++ b/p/scripts/main.js
@@ -841,7 +841,7 @@ function init_shortcuts() {
document.addEventListener('keydown', ev => {
if (ev.target.closest('input, textarea') ||
ev.ctrlKey || ev.metaKey || (ev.altKey && ev.shiftKey)) {
- return true;
+ return;
}
const s = context.shortcuts;
@@ -860,7 +860,8 @@ function init_shortcuts() {
} else {
auto_share(n);
}
- return false;
+ ev.preventDefault();
+ return;
}
}
if (k === s.actualize) {
@@ -868,7 +869,8 @@ function init_shortcuts() {
if (btn) {
btn.click();
}
- return false;
+ ev.preventDefault();
+ return;
}
if (k === s.next_entry) {
if (ev.altKey) {
@@ -878,7 +880,8 @@ function init_shortcuts() {
} else {
next_entry(false);
}
- return false;
+ ev.preventDefault();
+ return;
}
if (k === s.next_unread_entry) {
if (ev.altKey) {
@@ -888,7 +891,8 @@ function init_shortcuts() {
} else {
next_unread_entry(false);
}
- return false;
+ ev.preventDefault();
+ return;
}
if (k === s.prev_entry) {
if (ev.altKey) {
@@ -898,7 +902,8 @@ function init_shortcuts() {
} else {
prev_entry(false);
}
- return false;
+ ev.preventDefault();
+ return;
}
if (k === s.mark_read) {
if (ev.altKey) {
@@ -908,7 +913,8 @@ function init_shortcuts() {
} else { // Toggle the read state
mark_read(document.querySelector('.flux.current'), false, false);
}
- return false;
+ ev.preventDefault();
+ return;
}
if (k === s.first_entry) {
if (ev.altKey) {
@@ -922,7 +928,8 @@ function init_shortcuts() {
toggleContent(first, old_active, false);
}
}
- return false;
+ ev.preventDefault();
+ return;
}
if (k === s.last_entry) {
if (ev.altKey) {
@@ -936,15 +943,17 @@ function init_shortcuts() {
toggleContent(last, old_active, false);
}
}
- return false;
+ ev.preventDefault();
+ return;
}
if (ev.altKey || ev.shiftKey) {
- return true;
+ return;
}
if (k === s.mark_favorite) { // Toggle the favorite state
mark_favorite(document.querySelector('.flux.current'));
- return false;
+ ev.preventDefault();
+ return;
}
if (k === s.go_website) {
if (context.auto_mark_site) {
@@ -955,23 +964,23 @@ function init_shortcuts() {
newWindow.opener = null;
newWindow.location = document.querySelector('.flux.current a.go_website').href;
}
- return false;
+ ev.preventDefault();
+ return;
}
- if (k === s.skip_next_entry) { next_entry(true); return false; }
- if (k === s.skip_prev_entry) { prev_entry(true); return false; }
- if (k === s.collapse_entry) { collapse_entry(); return false; }
- if (k === s.auto_share) { auto_share(); return false; }
- if (k === s.user_filter) { user_filter(); return false; }
- if (k === s.load_more) { load_more_posts(); return false; }
- if (k === s.close_dropdown) { location.hash = null; return false; }
- if (k === s.help) { window.open(context.urls.help); return false; }
- if (k === s.focus_search) { document.getElementById('search').focus(); return false; }
- if (k === s.normal_view) { delayedClick(document.querySelector('#nav_menu_views .view-normal')); return false; }
- if (k === s.reading_view) { delayedClick(document.querySelector('#nav_menu_views .view-reader')); return false; }
- if (k === s.global_view) { delayedClick(document.querySelector('#nav_menu_views .view-global')); return false; }
- if (k === s.rss_view) { delayedClick(document.querySelector('#nav_menu_views .view-rss')); return false; }
- if (k === s.toggle_media) { toggle_media(); return false; }
- return true;
+ if (k === s.skip_next_entry) { next_entry(true); ev.preventDefault(); return; }
+ if (k === s.skip_prev_entry) { prev_entry(true); ev.preventDefault(); return; }
+ if (k === s.collapse_entry) { collapse_entry(); ev.preventDefault(); return; }
+ if (k === s.auto_share) { auto_share(); ev.preventDefault(); return; }
+ if (k === s.user_filter) { user_filter(); ev.preventDefault(); return; }
+ if (k === s.load_more) { load_more_posts(); ev.preventDefault(); return; }
+ if (k === s.close_dropdown) { location.hash = null; ev.preventDefault(); return; }
+ if (k === s.help) { window.open(context.urls.help); ev.preventDefault(); return; }
+ if (k === s.focus_search) { document.getElementById('search').focus(); ev.preventDefault(); return; }
+ if (k === s.normal_view) { delayedClick(document.querySelector('#nav_menu_views .view-normal')); ev.preventDefault(); return; }
+ if (k === s.reading_view) { delayedClick(document.querySelector('#nav_menu_views .view-reader')); ev.preventDefault(); return; }
+ if (k === s.global_view) { delayedClick(document.querySelector('#nav_menu_views .view-global')); ev.preventDefault(); return; }
+ if (k === s.rss_view) { delayedClick(document.querySelector('#nav_menu_views .view-rss')); ev.preventDefault(); return; }
+ if (k === s.toggle_media) { toggle_media(); ev.preventDefault(); }
});
}