博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决ueditor二次加载(getEditor)加载失败的问题
阅读量:5015 次
发布时间:2019-06-12

本文共 1610 字,大约阅读时间需要 5 分钟。

  最近在做项目的时候用到了ueditor控件,正常使用第一次加载没有问题,因为没有刷新页面,第二次加载的时候就会加载失败,ueditor部分出现空白,查看了一下功能基本可以定位到是getEditor时出现了问题,具体怎么解决直到我发现了下面的这篇博文,具体内容如下:

 

大家自己看看官方的js文件ueditor.all.js有以下的代码

 

/**     * @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; 
第二次初始化时却仅从容器中取到实例:var editor = instances[id]; 直接返回了editor对象,而编辑器的DOM并没有渲染。

【解决方案】:

再次使用时先删除之前的实例化对象,再进行再次实例化

UE.delEditor('editor'); //先删除之前实例的对象UE.getEditor('editor'); //添加编辑器

 

或者如下解决,对目标DOM进行手动渲染

 

UE.getEditor('editor').render('editor'); //使用之前的对象(同时渲染DOM)

 

以上解决方案本人亲测可用

————————————————
版权声明:本文为CSDN博主「隔壁小王攻城狮」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/df981011512/article/details/69678711

转载于:https://www.cnblogs.com/dushaojun/p/11535724.html

你可能感兴趣的文章
数据库多对多关联表(Python&MySQL)
查看>>
[实变函数]1.2 集合的运算
查看>>
第06天
查看>>
设计模式的征途—5.原型(Prototype)模式
查看>>
iOS10 app连接不上网络的问题
查看>>
结对开发之电梯调度最终稿(徐梦迪&刘博)
查看>>
simple java mail
查看>>
信息建模
查看>>
Mybatis 数据库物理分页插件 PageHelper
查看>>
虚函数、纯虚函数详解
查看>>
z-stack中数据的发送,广播、组播、点对点
查看>>
Practial Vim 学习笔记一
查看>>
.NET中使用js实现百度搜索下拉提示效果[不是局部刷新,呜呜。。]
查看>>
ITCAST视频-Spring学习笔记(使用Spring的注解方式实现AOP入门)
查看>>
关于二维码“QR”的6大注意事项
查看>>
MySQL - 常用命令及常用查询SQL
查看>>
C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换
查看>>
android获取USB设备的名称
查看>>
JavaPersistenceWithHibernate第二版笔记-第七章-005排序的集合(@org.hibernate.annotations.SortComparator)...
查看>>
ue4同c#通信时的中文乱码问题
查看>>