百度编辑器 UEditor setContent()

本文探讨了使用UEditor富文本编辑器时遇到的问题:在第二次打开编辑器时无法更新内容。作者通过调整代码逻辑成功解决了该问题,并分享了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    给编辑器赋值的代码:

var ue = UE.getEditor('content');

ue.ready(function (){
      ue.setContent(data.data.content); 
});

 

当我第二次去打开编辑器的时候,编辑器里就有数据了。

大神们帮我看看嘛!

这是怎么回事呢??????????

找了一天终于解决了,太感谢这位朋友了。

原文地址:

https://my.oschina.net/u/2247058/blog/371420

 

结果发现我第二次打开编辑器的时候,数据还是原来的数据。数据都没变,调试发现,当我第二次打开编辑器的时候,根本就没有执行这条语句。

ue.addListener("ready", function () {
// editor准备好之后才可以使用
ue.setContent(data.data.content);
});

 

继续查找原因

结合两次的代码:

一:

ue.addListener("ready",function(){
       ue.setContent(data.data.content);
      return ;
    });
ue.setContent(data.data.content);

这样有点取巧的感觉: 当我第一次打开编辑器的时候,会执行

  ue.addListener("ready",function(){
       ue.setContent(data.data.content);
      return ;
    });

这时编辑器里有数据了,当然ue.setContent(data.data.content);这句也会执行,但是编辑器不会显示数据的。

 

当我第二次打开数据的时候,当然   ue.addListener("ready",function(){
       ue.setContent(data.data.content);
      return ;
    });这段代码是不会执行的,现在就执行ue.setContent(data.data.content)这段代码,编辑器啊里就有数据了,而且数据也是不同的。

 

二:

其实使用了监听事件,我们也可以移除事件监听的。我使用了一下,但是我的不行,可能是代码哪里的问题吧!

我觉得这个是可以解决我这个问题的。

 

 

暂时就这样了!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值