diff --git a/app/src/protyle/toolbar/index.ts b/app/src/protyle/toolbar/index.ts index be51ab6bf..b5d7cec63 100644 --- a/app/src/protyle/toolbar/index.ts +++ b/app/src/protyle/toolbar/index.ts @@ -1147,10 +1147,10 @@ export class Toolbar { const id = nodeElement.getAttribute("data-node-id"); let oldHtml = nodeElement.outerHTML; - let html = `
${window.siyuan.languages.clear}
`; + let html = `
${window.siyuan.languages.clear}
`; const hljsLanguages = Constants.ALIAS_CODE_LANGUAGES.concat(window.hljs?.listLanguages() ?? []).sort(); - hljsLanguages.forEach((item) => { - html += `
${item}
`; + hljsLanguages.forEach((item, index) => { + html += `
${item}
`; }); this.subElement.style.width = ""; diff --git a/app/src/util/upDownHint.ts b/app/src/util/upDownHint.ts index 10f69dfcb..da4f3df29 100644 --- a/app/src/util/upDownHint.ts +++ b/app/src/util/upDownHint.ts @@ -35,9 +35,9 @@ export const upDownHint = (listElement: Element, event: KeyboardEvent, classActi } } currentHintElement = listElement.querySelector("." + classActiveName); - if (listElement.scrollTop < currentHintElement.offsetTop - listElement.clientHeight + currentHintElement.clientHeight || - listElement.scrollTop > currentHintElement.offsetTop - currentHintElement.clientHeight * 2) { - currentHintElement.scrollIntoView(listElement.scrollTop > currentHintElement.offsetTop - currentHintElement.clientHeight * 2); + const overTop = listElement.scrollTop > currentHintElement.offsetTop - (currentHintElement.previousElementSibling?.clientHeight || 0) + if (listElement.scrollTop < currentHintElement.offsetTop - listElement.clientHeight + currentHintElement.clientHeight || overTop) { + currentHintElement.scrollIntoView(overTop); } return currentHintElement; }