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

+ 1 - 0
CHANGELOG.md

@@ -79,6 +79,7 @@
 
 ### v3.4.0 / 2020-07-xx
 
+* [639](https://github.com/Vanessa219/vditor/issues/639) 列表嵌套代码块后输入中文的问题 `修复缺陷`
 * [641](https://github.com/Vanessa219/vditor/issues/641) 清空 undo 栈后,第一次编辑操作无法进行记录 `修复缺陷`
 * [640](https://github.com/Vanessa219/vditor/issues/640) options.icon 无法进行切换 `改进功能`
 * [638](https://github.com/Vanessa219/vditor/pull/638) ir模式下图片编辑时很难触发md图片代码显示 `改进功能`

+ 4 - 3
src/ts/util/fixBrowserBehavior.ts

@@ -41,14 +41,15 @@ export const fixGSKeyBackspace = (event: KeyboardEvent, vditor: IVditor, startCo
     return true;
 };
 
-// https://github.com/Vanessa219/vditor/issues/361
+// https://github.com/Vanessa219/vditor/issues/361 代码块后输入中文
 export const fixCJKPosition = (range: Range, vditor: IVditor, event: KeyboardEvent) => {
     if (event.key === "Enter" || event.key === "Tab" || event.key === "Backspace" || event.key.indexOf("Arrow") > -1
         || isCtrl(event) || event.key === "Escape" || event.shiftKey || event.altKey) {
         return;
     }
-    const pElement = hasClosestByMatchTag(range.startContainer, "P");
-    if (pElement && getSelectPosition(pElement, vditor[vditor.currentMode].element, range).start === 0) {
+    const pLiElement = hasClosestByMatchTag(range.startContainer, "P") ||
+        hasClosestByMatchTag(range.startContainer, "LI");
+    if (pLiElement && getSelectPosition(pLiElement, vditor[vditor.currentMode].element, range).start === 0) {
         const zwspNode = document.createTextNode(Constants.ZWSP);
         range.insertNode(zwspNode);
         range.setStartAfter(zwspNode);