diff --git a/app/src/protyle/hint/index.ts b/app/src/protyle/hint/index.ts index 697e5c8a3..0d77970c0 100644 --- a/app/src/protyle/hint/index.ts +++ b/app/src/protyle/hint/index.ts @@ -10,7 +10,7 @@ import { } from "../util/selection"; import {genHintItemHTML, hintEmbed, hintRef, hintSlash} from "./extend"; import {getSavePath, newFile} from "../../util/newFile"; -import {upDownHint} from "../../util/upDownHint"; +import {isAbnormalItem, upDownHint} from "../../util/upDownHint"; import {setPosition} from "../../util/setPosition"; import {getContenteditableElement, hasNextSibling, hasPreviousSibling} from "../wysiwyg/getBlock"; import {transaction, updateTransaction} from "../wysiwyg/transaction"; @@ -290,6 +290,14 @@ ${unicode2Emoji(emoji.unicode)}`; /// #endif } this.element.scrollTop = 0; + let currentHintElement = this.element.querySelector(".b3-list-item--focus") as HTMLElement; + if (isAbnormalItem(currentHintElement, "b3-list-item")) { + currentHintElement.classList.remove("b3-list-item--focus"); + do { + currentHintElement = currentHintElement.nextElementSibling as HTMLElement; + } while (isAbnormalItem(currentHintElement, "b3-list-item")); + currentHintElement?.classList.add("b3-list-item--focus"); + } this.bindUploadEvent(protyle, this.element); if (this.source !== "hint") { const searchElement = this.element.querySelector("input.b3-text-field") as HTMLInputElement; diff --git a/app/src/util/upDownHint.ts b/app/src/util/upDownHint.ts index 1b32684a2..78299072a 100644 --- a/app/src/util/upDownHint.ts +++ b/app/src/util/upDownHint.ts @@ -1,5 +1,5 @@ export const isAbnormalItem = (currentHintElement: HTMLElement, className: string) => { - return !currentHintElement || !currentHintElement.classList.contains(className) || currentHintElement.getBoundingClientRect().height === 0; + return currentHintElement && (!currentHintElement.classList.contains(className) || currentHintElement.getBoundingClientRect().height === 0); }; export const upDownHint = (listElement: Element, event: KeyboardEvent, classActiveName = "b3-list-item--focus", defaultElement?: Element) => {