博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在同一个jsp下使用两个不同的Ueditor时,第二次加载的Ueditor会失败
阅读量:6242 次
发布时间:2019-06-22

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

hot3.png

场景:在一个父jsp页面中,存在两个模态框,在点击新增xx时,新增的模态框中会放入一个jsp页面,这张jsp页面中带有一个编辑器;同理,点击修改xx时一样。

错误:每当我第一次点击新增/修改时,编辑器可以出现,但当我点击修改/新增时便加载不出来。

百度搜索后发现是这个原因:

这段可以看到,在调用UE.getEditor(‘_editor’)初始化UEditor时,先从放置编辑器的容器instances中获取,没有实例才实例化一个Editor,这就是引起问题的原因。 在第一次跳转到编辑器界面时,正常的实例化了一个新的编辑器对象,并放入instances,调用editor.render(id)渲染编辑器的DOM; 第二次初始化时却仅从容器中取到实例:var editor = instances[id]; 直接返回了editor对象,而编辑器的DOM并没有渲染。方案:jQuery(function($) {    UE.getEditor('_editor').render('_editor')})也可以这样:jQuery(function($) {    UE.delEditor('_editor');    var ue = UE.getEditor('_editor');})

但是我在打开新增或者修改对应的jsp中加上$(function() {上面的解决方案})后,发现并没有生效。

解决方案:尝试了一种新的思路,即在模态框关闭的时候调用UE.delEditor();测试过后生效,如下

// 关闭Dialog前移除编辑器 		$('#updateDetailModal').on('hidden.bs.modal', function () { 			UE.delEditor('editorUpdate');		});		$('#addDocModal').on('hidden.bs.modal', function () {			UE.delEditor('editor');		});

但是又出现了一个新的js异常:Cannot read property 'scrollTo' of undefined,每当我初始化编辑器后,鼠标往上滚到页面顶部时就会报这个,

下面是该异常的解决方案:

ueditor.all.js的如下内容加一个判断

转载于:https://my.oschina.net/u/3676955/blog/1921021

你可能感兴趣的文章
php如何获取原生请求体
查看>>
java web开发 高并发处理
查看>>
PHP 高级编程之多线程(二)
查看>>
ART世界探险(12) - OAT文件分析(2) - ELF文件头分析(中)
查看>>
AFNetworking 和 ASIHTTPRequest
查看>>
Qt之自定义界面(实现无边框、可移动)
查看>>
MS SQL修改数据库名称
查看>>
【RMAN】使用RMAN duplicate复制同机数据库
查看>>
概率论快速学习03:概率公理补充
查看>>
C++ 对象的内存布局(上)
查看>>
向Java开发者介绍Scala
查看>>
【软考点点】计算机基础知识
查看>>
hdu2066一个人的旅行(多源点多汇点的最短路径问题)
查看>>
老猪带你玩转android自定义控件一——打造最简单viewpagerindicator
查看>>
【hibernate框架】性能优化之list_iterate的不同之处
查看>>
block高级功能
查看>>
把钱投资自己的头脑上(一)
查看>>
iOS调试奇巧淫技(二)之LLDB
查看>>
[LeetCode]173.Binary Search Tree Iterator
查看>>
整合大量开源库项目(五)跳动的TextView JumpingBeans,良好体验的滚动栏ConvenientBanner...
查看>>