Vanessa 2025-12-14 12:05:52 +08:00
parent 3b730ded8f
commit cbaab93db1
2 changed files with 12 additions and 2 deletions

View file

@ -9,6 +9,7 @@ import {hasClosestBlock, hasClosestByAttribute, hasClosestByTag} from "./hasClos
import {countBlockWord, countSelectWord} from "../../layout/status";
import {hideElements} from "../ui/hideElements";
import {genRenderFrame} from "../render/util";
import {Constants} from "../../constants";
const selectIsEditor = (editor: Element, range?: Range) => {
if (!range) {
@ -544,8 +545,13 @@ export const focusByWbr = (element: Element, range: Range) => {
range.setStart(wbrElement.previousSibling, wbrElement.previousSibling.textContent.length);
} else if (wbrElement.nextSibling) {
if (wbrElement.nextSibling.nodeType === 3) {
// <wbr>text
range.setStart(wbrElement.nextSibling, 0);
if (wbrElement.nextSibling.textContent === Constants.ZWSP) {
// <wbr>零块空格text
range.setStart(wbrElement.nextSibling, 1);
} else {
// <wbr>text
range.setStart(wbrElement.nextSibling, 0);
}
} else {
// <wbr><span>a</span>
range.setStartAfter(wbrElement);

View file

@ -454,6 +454,7 @@ const listEnter = (protyle: IProtyle, blockElement: HTMLElement, range: Range) =
if (subWbrElement && subWbrElement.parentElement.tagName === "SPAN" && subWbrElement.parentElement.innerHTML === "<wbr>") {
subWbrElement.parentElement.outerHTML = "<wbr>";
}
newEditElement.parentElement.outerHTML = protyle.lute.SpinBlockDOM(newEditElement.parentElement.outerHTML);
let subListNextElement = subListElement.nextElementSibling;
newElement.lastElementChild.before(subListElement);
// https://github.com/siyuan-note/siyuan/issues/13016
@ -462,6 +463,9 @@ const listEnter = (protyle: IProtyle, blockElement: HTMLElement, range: Range) =
newElement.lastElementChild.before(subListNextElement.previousElementSibling);
}
listItemElement.insertAdjacentElement("afterend", newElement);
blockRender(protyle, newElement);
mathRender(newElement);
processRender(newElement);
if (listItemElement.getAttribute("data-subtype") === "o") {
updateListOrder(listItemElement.parentElement);
}