Liyuan Li 5 years ago
parent
commit
e260a4ce6d
3 changed files with 9 additions and 2 deletions
  1. 3 0
      CHANGELOG.md
  2. 1 1
      src/ts/util/fixBrowserBehavior.ts
  3. 5 1
      src/ts/wysiwyg/processKeydown.ts

+ 3 - 0
CHANGELOG.md

@@ -68,6 +68,9 @@
 
 ### v3.3.10 / 2020-07-xx
 
+* [605](https://github.com/Vanessa219/vditor/issues/605) 块节点上下插入的优化 `改进功能`
+* [602](https://github.com/Vanessa219/vditor/issues/602) Three enters inside codeblock `修复缺陷`
+* [600](https://github.com/Vanessa219/vditor/issues/600) codeblock inside footnote `修复缺陷`
 * [590](https://github.com/Vanessa219/vditor/pull/590) Set value issue `修复缺陷`
 * [594](https://github.com/Vanessa219/vditor/issues/594) Blockquote, ordered list and code block `改进功能`
 * [593](https://github.com/Vanessa219/vditor/issues/593) IR 模式焦点离开时的渲染问题 `改进功能`

+ 1 - 1
src/ts/util/fixBrowserBehavior.ts

@@ -154,7 +154,7 @@ export const insertBeforeBlock = (vditor: IVditor, event: KeyboardEvent, range:
             (previousElement && (previousElement.tagName === "TABLE" || previousElement.getAttribute("data-type")))) {
             blockElement.insertAdjacentHTML("beforebegin",
                 `<p data-block="0">${Constants.ZWSP}<wbr></p>`);
-            setRangeByWbr(vditor.ir.element, range);
+            setRangeByWbr(vditor[vditor.currentMode].element, range);
         } else {
             range.selectNodeContents(previousElement);
             range.collapse(false);

+ 5 - 1
src/ts/wysiwyg/processKeydown.ts

@@ -8,7 +8,7 @@ import {
     fixMarkdown,
     fixTab,
     fixTable,
-    fixTask, insertAfterBlock,
+    fixTask, insertAfterBlock, insertBeforeBlock,
 } from "../util/fixBrowserBehavior";
 import {
     hasClosestBlock,
@@ -102,6 +102,10 @@ export const processKeydown = (vditor: IVditor, event: KeyboardEvent) => {
                 codeRenderElement)) {
                 return true;
             }
+            if (insertBeforeBlock(vditor, event, range, codeRenderElement.firstElementChild as HTMLElement,
+                codeRenderElement)) {
+                return true;
+            }
         }
     }