粘贴内容有换行时浏览器会报错,Cannot read property ‘nodeName’ of undefined
去官网说明文档寻找解决办法时,发现靠谱点的只有粘贴过滤相关api,但是试了一遍都不太行,最后只能选择使用自定义处理粘贴的文本内容。
这是官方文档的自定义处理
const E = window.wangEditor
const editor = new E('#div1')
// 配置粘贴文本的内容处理
editor.config.pasteTextHandle = function (pasteStr) {
// 对粘贴的文本进行处理,然后返回处理后的结果
return pasteStr + '巴拉巴拉'
}
editor.create()
使用之后发现仍然无法解决这个问题,排查后发现应该是编辑器在插入内容时出了问题。所以我们要换一种插入方式,官方文档中内容操作api就给我们提供了另一种方式。
在光标位置插入文字
editor.cmd.do('insertHTML', '<p>...</p>')
改造后的代码如下,经过测试可以完美解决问题。
// 配置粘贴文本的内容处理
editor.config.pasteTextHandle = function (pasteStr) {
// 对粘贴的文本进行处理,然后返回处理后的结果
editor.cmd.do('insertHTML', pasteStr)
}