Allow Cmd/Ctrl+K for search, remove 's'

This commit is contained in:
Alex Shpak
2026-05-17 23:27:08 +02:00
parent 3a475b0761
commit 9ab28a9b36
2 changed files with 12 additions and 18 deletions
+11 -17
View File
@@ -34,13 +34,15 @@ import Fuse from '{{ "fuse.min.mjs" | relURL }}'
input.addEventListener('focus', init);
input.addEventListener('keyup', search);
document.addEventListener('keypress', focusSearchFieldOnKeyPress);
document.addEventListener('keydown', focusOnKeyDown);
/**
* @param {Event} event
* @param {KeyboardEvent} event
*/
function focusSearchFieldOnKeyPress(event) {
if (event.target.value !== undefined) {
function focusOnKeyDown(event) {
if (event.key === 'k' && (event.metaKey || event.ctrlKey)) {
event.preventDefault();
input.focus();
return;
}
@@ -48,22 +50,14 @@ import Fuse from '{{ "fuse.min.mjs" | relURL }}'
return;
}
const characterPressed = String.fromCharCode(event.charCode);
if (!isHotkey(characterPressed)) {
if (event.target.value !== undefined) {
return;
}
input.focus();
event.preventDefault();
}
/**
* @param {String} character
* @returns {Boolean}
*/
function isHotkey(character) {
const dataHotkeys = input.getAttribute('data-hotkeys') || '';
return dataHotkeys.indexOf(character) >= 0;
if (event.key === '/') {
event.preventDefault();
input.focus();
}
}
function init() {
+1 -1
View File
@@ -3,7 +3,7 @@
<input id="book-search-input" type="text"
placeholder="{{ partial "docs/text/i18n" "Search" }}"
aria-label="{{ partial "docs/text/i18n" "Search" }}"
maxlength="64" data-hotkeys="s/" />
maxlength="64" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>