Editor.js 初始化后无法输入中文,怎么回事?

一培珍 阅读 10

我用 Editor.js 做了一个简单的富文本编辑器,初始化一切正常,英文能打,但一输入中文就直接跳过拼音选择,直接把字母打上去了。比如我想打“你好”,结果出来的是“nihao”。

我试过在 React 里用 useRef 挂载,也试过原生 HTML 引入,都一样。是不是哪里配置漏了?我的初始化代码是这样的:

const editor = new EditorJS({
  holder: 'editorjs',
  tools: {
    header: Header,
    paragraph: Paragraph
  }
});
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
雨橙 Dev
这个问题我之前也遇到过,跟配置没关系,是 Editor.js 早期版本的一个 bug。

根本原因:Editor.js 2.19 之前的版本对 IME(输入法)支持有缺陷,它没等输入法完成转换就把拼音字母直接输进去了。

解决办法很简单,升级版本就行:

先看一下你的 package.json 里 editorjs 的版本,如果是 2.18 或更低,升级到 2.22 以上的最新版本:

npm install @editorjs/editorjs@latest

如果你用的是原生 HTML 引入,也把 CDN 链接改成新版本:



升级完基本就好了,不用改任何配置代码。

如果你因为某些原因必须用旧版本,可以在初始化时加个 workaround,在 Editor.js 的 input 事件处理里加个判断,但说实话没必要,升级版本是最省事的。
点赞 1
2026-03-12 12:23