ueditor二次加载(getEditor)渲染失败(加载失败)的原因解决方案

2023-10-30


【来源】:php高级视频自学论坛


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)





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ueditor二次加载(getEditor)渲染失败(加载失败)的原因解决方案 的相关文章

  • 小米9008授权账号_小米手表体验:中肯点评,这是一款优点和缺点同样突出的智能手表...

    前不久 小米推出了两款智能手表 一款是方形表盘设计的小米手表 一款是圆形表盘的小米手表Color 除了价格上的区别 小米手表要比小米手表Color功能更丰富些 价格也要比小米手表Color贵一点 虽然小米手表Color的圆形圆盘更好看些 但
  • Android PDF开发:android-pdfview

    Android PDF开发 android pdfview Android平台自身没有直接可以阅读和处理pdf的方案 在github上面有一个第三方开源的pdf开发SDK 其主页地址是 https github com JoanZapata
  • 【Android性能优化】Android图片加载方案--Bitmap的内存管理和优化方案

    转载请注明原文地址 http blog csdn net mxm691292118 article details 51028953 我把Android重难点和读书笔记都整理在github上 https github com miomin
  • 期货交易一个品种好(期货买几个品种好)

    期货新手该做哪个品种 期货新手品种选择 看风险承受能力 风险承受能力较低 建议只交易豆 豆粕 玉米 强麦 籼稻等品种 风险承受能力中等 建议在以上基础上增加白糖 塑料 PTA 豆油 棕榈油 菜籽油 玻璃 螺纹钢 鸡蛋等 风险承受能力较高 那
  • 35岁IT前辈,测试11年,第一次分享面试感悟

    最近几年我一直担任着软件测试面试官的角色 正好过年回来 也差不多金三银四求职季了 所以想写点面试的经验分享给大家 希望能对大家有些帮助 碍于才疏学浅 又是理工出身 字里行间未免词不达意 可能会让大家见笑了 软件测试面试环节 一般求职无非几个
  • java new数组_Java如何使用new创建数组

    java语言使用new操作符来创建数组 语法如下 arrayRefVar new dataType arraySize 上面的语法语句做了两件事 一 使用dataType arraySize 创建了一个数组 二 把新创建的数组的引用赋值给变
  • 零基础入门STM32编程(七)——定时器篇(HAL)

    前情回顾 上一篇讲解了HAL库函数点灯 初步学习了如何使用CUBE MX创建工程文件 以及文末送出了获取HAL库函数API手册方法的小福利 本篇将继续学习HAL库函数中的定时器API使用方法 一 初识定时器 上一篇讲解了使用HAL库函数点灯
  • 浮点数为什么不精确?

    浮点数为什么不精确 其实这句话本身就不精确 相对精确一点的说法是 我们码农在程序里写的10进制小数 计算机内部无法用二进制的小数来精确的表达 什么是二进制的小数 就是形如 101 11 数字 注意 这是二进制的 数字只能是0和1 101 1
  • Excel技巧-动态引用其他Sheet中的内容

    本文讲述了如何根据单元格内容为参数动态引用Excel其他单元格中的内容 这些单元格可能是同一个sheet 也可以是不同的sheet 主要使用了两个函数 Address 用来动态生成单元格地址 Syntax ADDRESS row num c
  • matlab绘制正弦波频谱图,matlab对正弦信号作FFT得到频谱图

    转自 https www cnblogs com alexanderkun p 4723577 html https blog csdn net qq 36024066 article details 89491650 一 FFT物理意义如
  • vue2-vant组件库-van-search获取焦点方法

    vue2 vant组件库 van search获取焦点方法 场景 1 进入搜索页时 搜索输入框自动获取焦点 2 点击历史记录 搜索输入框自动获取焦点 思路 1 通过在van search组件标签通过ref获取输入框的dom元素 2 在进入页

随机推荐