mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-02 04:31:27 +08:00
This commit is contained in:
parent
1b01d033c6
commit
b5ba1741ec
@ -1796,6 +1796,25 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
|
||||
return;
|
||||
}
|
||||
if (!event.shiftKey) {
|
||||
const inlineElement = range.startContainer.parentElement;
|
||||
const currentTypes = protyle.toolbar.getCurrentType(range);
|
||||
// https://github.com/siyuan-note/siyuan/issues/14703
|
||||
if (currentTypes.length > 0 && range.toString() === "" && range.startOffset === 0 &&
|
||||
inlineElement.tagName === "SPAN" && !hasPreviousSibling(range.startContainer) && !hasPreviousSibling(inlineElement)) {
|
||||
range.setStartBefore(inlineElement);
|
||||
range.collapse(true);
|
||||
} else if (inlineElement.tagName === "SPAN" &&
|
||||
!currentTypes.includes("search-mark") && // https://github.com/siyuan-note/siyuan/issues/7586
|
||||
!currentTypes.includes("code") && // https://github.com/siyuan-note/siyuan/issues/13871
|
||||
!currentTypes.includes("kbd") &&
|
||||
!currentTypes.includes("tag") &&
|
||||
range.toString() === "" && range.startContainer.nodeType === 3 &&
|
||||
(currentTypes.includes("inline-memo") || currentTypes.includes("block-ref") || currentTypes.includes("file-annotation-ref") || currentTypes.includes("a")) &&
|
||||
!hasNextSibling(range.startContainer) && range.startContainer.textContent.length === range.startOffset
|
||||
) {
|
||||
range.setEndAfter(inlineElement);
|
||||
range.collapse(false);
|
||||
}
|
||||
const wbrElement = document.createElement("wbr");
|
||||
range.insertNode(wbrElement);
|
||||
const oldHTML = nodeElement.outerHTML;
|
||||
|
Loading…
Reference in New Issue
Block a user