From 05cb745abd242bb25f32f296f1edc8dca1d115b0 Mon Sep 17 00:00:00 2001 From: newtextdoc1111 Date: Thu, 8 May 2025 16:41:05 +0900 Subject: [PATCH] refactor: Remove deprecated keypress event handler and update keyup logic for better autocomplete behavior --- web/js/autocomplete.js | 27 ++++++++++++++------------- web/js/main.js | 7 +------ web/js/related-tags.js | 8 -------- 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/web/js/autocomplete.js b/web/js/autocomplete.js index ca538cb..5a6dafa 100644 --- a/web/js/autocomplete.js +++ b/web/js/autocomplete.js @@ -852,20 +852,21 @@ export class AutocompleteEventHandler { */ handleKeyUp(event){ if (!settingValues.enabled || !autocompleteUI) return; - - updateAutocompleteDisplay(event.target); - } - - /** - * - * @param {KeyboardEvent} event - * @returns - */ - handleKeyPress(event){ - if (!settingValues.enabled || !autocompleteUI) return; - if (event.defaultPrevented) return; // Ignore if default action is prevented - updateAutocompleteDisplay(event.target); + if (autocompleteUI.isVisible()) { + switch (event.key) { + case "Escape": + event.preventDefault(); + autocompleteUI.hide(); + break; + } + } else if (event.key.length > 1 && event.key != "Delete" && event.key != "Backspace") { + return; + } + + if (!event.defaultPrevented) { + updateAutocompleteDisplay(event.target); + } } /** diff --git a/web/js/main.js b/web/js/main.js index a90e278..19fc32d 100644 --- a/web/js/main.js +++ b/web/js/main.js @@ -20,7 +20,7 @@ function initializeEventHandlers() { element.addEventListener('blur', handleBlur); element.addEventListener('keydown', handleKeyDown); element.addEventListener('keyup', handleKeyUp); - element.addEventListener('keypress', handleKeyPress); + // element.addEventListener('keypress', handleKeyPress); // keypress is deprecated // Add new event listeners for related tags feature element.addEventListener('mousemove', handleMouseMove); @@ -108,11 +108,6 @@ function initializeEventHandlers() { relatedTagsEventHandler.handleKeyUp(event); } - function handleKeyPress(event) { - autocompleteEventHandler.handleKeyPress(event); - relatedTagsEventHandler.handleKeyPress(event); - } - // New event handler for mousemove to show related tags on hover function handleMouseMove(event) { autocompleteEventHandler.handleMouseMove(event); diff --git a/web/js/related-tags.js b/web/js/related-tags.js index 1c54beb..93c5a3b 100644 --- a/web/js/related-tags.js +++ b/web/js/related-tags.js @@ -656,14 +656,6 @@ export class RelatedTagsEventHandler { } - /** - * - * @param {KeyboardEvent} event - */ - handleKeyPress(event){ - - } - /** * * @param {MouseEvent} event