UEditor 第一次加载正常,第二次无法正常加载问题

UEditor 第一次加载正常,第二次无法正常加载问题

使用UEditor-1.4.3中遇到第一次跳转到使用UEditor的界面后,编辑器加载正常,返回后第二次再跳转到这个界面就出现UEditor无法正常加载。

看UEditor源码,发现这样一段:
/**
* @file
* @name UE
* @short UE
* @desc UEditor的顶部命名空间
/
/
*
* @name getEditor
* @since 1.2.4+
* @grammar UE.getEditor(id,[opt]) => Editor实例
* @desc 提供一个全局的方法得到编辑器实例
*
* * ‘‘id’’ 放置编辑器的容器id, 如果容器下的编辑器已经存在,就直接返回
* * ‘‘opt’’ 编辑器的可选参数
* @example
* UE.getEditor(‘containerId’,{onready:function(){//创建一个编辑器实例
* this.setContent(‘hello’)
* }});
* UE.getEditor(‘containerId’); //返回刚创建的实例
*
*/
UE.getEditor = function (id, opt) {
var editor = instances[id];
if (!editor) {
editor = instances[id] = new UE.ui.Editor(opt);
editor.render(id);
}
return editor;
};

UE.delEditor = function (id) {
    var editor;
    if (editor = instances[id]) {
        editor.key && editor.destroy();
        delete instances[id]
    }
};

这段可以看到,在调用UE.getEditor(‘_editor’)初始化UEditor时,先从放置编辑器的容器instances中获取,没有实例才实例化一个Editor,这就是引起问题的原因。
在第一次跳转到编辑器界面时,正常的实例化了一个新的编辑器对象,并放入instances,调用editor.render(id)渲染编辑器的DOM;

解决问题
UE.delEditor(’_editor’);
var ue = UE.getEditor(’_editor’);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值