弹窗后, UEditor富文本setContent失败

文章讨论了在弹窗显示后使用UEditor遇到的问题,即setUEContent方法未定义。解决办法是通过监听UEditor元素的存在,确保在文件加载完成后执行setContent。作者使用MutationObserver实现监听。
摘要由CSDN通过智能技术生成

弹窗后, UEditor富文本setContent失败

需求

在显示弹窗之后, 加载UE富文本框, 并设置初始内容.
在这里插入图片描述
在这里插入图片描述

问题

在弹窗显示之后, 发生报错, 如下
在这里插入图片描述

分析

这里发现在调用 UE富文本的 setUEContent方法时, 提示该方法是未定义的.
其实就是因为, 在显示弹窗的时候, UEditor要加载js等相关文件, 需要一点时间, 就在此时, 文件尚未加载完的时候, 就开始调用setUEContent方法, 导致了此次报错.

setUEContent方法 就是UEditor的原生setContent, 这里被封装过, 不影响原生, 功能也一样.

解决方案

对UEditor元素进行监听, 当UEditor元素存在时, 再进行setUEContent即可.
这里监听使用的JS原生技术 MutationObserver, 这里不做详细阐述.
案例代码如下:
在这里插入图片描述

new MutationObserve() 创建监听器
MutationObserve对象.observe() 开始监听, 需要提供监听的元素以及配置
MutationObserve对象.disconnect() 销毁监听器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值