浏览代码

:art: fix https://github.com/siyuan-note/siyuan/issues/5733

Vanessa 2 年之前
父节点
当前提交
dce630a9c2
共有 2 个文件被更改,包括 15 次插入3 次删除
  1. 5 1
      app/src/menus/protyle.ts
  2. 10 2
      app/src/protyle/gutter/index.ts

+ 5 - 1
app/src/menus/protyle.ts

@@ -259,7 +259,11 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
             label: window.siyuan.languages.copyPlainText,
             click() {
                 focusByRange(getEditorRange(nodeElement));
-                writeText(getSelection().getRangeAt(0).toString());
+                const cloneContents = getSelection().getRangeAt(0).cloneContents()
+                cloneContents.querySelectorAll('[data-type="backslash"]').forEach(item => {
+                    item.firstElementChild.remove();
+                });
+                writeText(cloneContents.textContent);
             }
         }).element);
         window.siyuan.menus.menu.append(new MenuItem({

+ 10 - 2
app/src/protyle/gutter/index.ts

@@ -491,7 +491,11 @@ export class Gutter {
                 let html = "";
                 selectsElement.forEach(item => {
                     item.querySelectorAll('[contenteditable="true"]').forEach(editItem => {
-                        html += editItem.textContent + "\n";
+                        const cloneNode = editItem.cloneNode(true) as HTMLElement
+                        cloneNode.querySelectorAll('[data-type="backslash"]').forEach(slashItem => {
+                            slashItem.firstElementChild.remove();
+                        });
+                        html += cloneNode.textContent + "\n";
                     });
                 });
                 writeText(html.trimEnd());
@@ -853,7 +857,11 @@ export class Gutter {
                 click() {
                     let text = "";
                     nodeElement.querySelectorAll('[contenteditable="true"]').forEach(item => {
-                        text += item.textContent + "\n";
+                        const cloneNode = item.cloneNode(true) as HTMLElement
+                        cloneNode.querySelectorAll('[data-type="backslash"]').forEach(slashItem => {
+                            slashItem.firstElementChild.remove();
+                        });
+                        text += cloneNode.textContent + "\n";
                     });
                     writeText(text.trimEnd());
                 }