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 {countBlockWord, countSelectWord} from "../../layout/status";
import {hideElements} from "../ui/hideElements"; import {hideElements} from "../ui/hideElements";
import {genRenderFrame} from "../render/util"; import {genRenderFrame} from "../render/util";
import {Constants} from "../../constants";
const selectIsEditor = (editor: Element, range?: Range) => { const selectIsEditor = (editor: Element, range?: Range) => {
if (!range) { if (!range) {
@ -544,8 +545,13 @@ export const focusByWbr = (element: Element, range: Range) => {
range.setStart(wbrElement.previousSibling, wbrElement.previousSibling.textContent.length); range.setStart(wbrElement.previousSibling, wbrElement.previousSibling.textContent.length);
} else if (wbrElement.nextSibling) { } else if (wbrElement.nextSibling) {
if (wbrElement.nextSibling.nodeType === 3) { if (wbrElement.nextSibling.nodeType === 3) {
if (wbrElement.nextSibling.textContent === Constants.ZWSP) {
// <wbr>零块空格text
range.setStart(wbrElement.nextSibling, 1);
} else {
// <wbr>text // <wbr>text
range.setStart(wbrElement.nextSibling, 0); range.setStart(wbrElement.nextSibling, 0);
}
} else { } else {
// <wbr><span>a</span> // <wbr><span>a</span>
range.setStartAfter(wbrElement); 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>") { if (subWbrElement && subWbrElement.parentElement.tagName === "SPAN" && subWbrElement.parentElement.innerHTML === "<wbr>") {
subWbrElement.parentElement.outerHTML = "<wbr>"; subWbrElement.parentElement.outerHTML = "<wbr>";
} }
newEditElement.parentElement.outerHTML = protyle.lute.SpinBlockDOM(newEditElement.parentElement.outerHTML);
let subListNextElement = subListElement.nextElementSibling; let subListNextElement = subListElement.nextElementSibling;
newElement.lastElementChild.before(subListElement); newElement.lastElementChild.before(subListElement);
// https://github.com/siyuan-note/siyuan/issues/13016 // 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); newElement.lastElementChild.before(subListNextElement.previousElementSibling);
} }
listItemElement.insertAdjacentElement("afterend", newElement); listItemElement.insertAdjacentElement("afterend", newElement);
blockRender(protyle, newElement);
mathRender(newElement);
processRender(newElement);
if (listItemElement.getAttribute("data-subtype") === "o") { if (listItemElement.getAttribute("data-subtype") === "o") {
updateListOrder(listItemElement.parentElement); updateListOrder(listItemElement.parentElement);
} }