项目中,在切换了页面的tab页后会发现上传图片的操作报错,检查后发现问题根源是切换了tab页重新加载页面时ckeditor又会创建一次,这个时候的ckeditor已经不是第一次创建的那个了,所以上传图片的方法中会报错。

解决方法:在ckeditor每次创建之前判断一下,如果有ckeditor则destroy掉,重新创建新的,保证页面上始终只有一个ckeditor,具体如下:

  • 在ckeditor的directive中:

    console.log(CKEDITOR.instances.myCKeditor ); //①
    if(CKEDITOR.instances.myCKeditor){//如果CKEDITOR已经创建存在则执行destroy
    CKEDITOR.instances.myCKeditor.destroy();
    }
    console.log(CKEDITOR.instances.myCKeditor); //②
    var ckeditor=CKEDITOR.replace(<HTMLTextAreaElement>element[0]);//保持始终创建新的CKEDITOR
    console.log(CKEDITOR.instances.myCKeditor); //③
  • 说明:其中,myCKeditor是页面中textarea的name值
    <textarea ckeditor-Directive name="myCKeditor"></textarea>
  • 三个console.log打印的情况如下:
    •   首次进入页面时由于之前是没有ckeditor存在的,所以①和②都是undefined,执行创建代码后③是创建出来的ckeditor对象;
    •   切换了tab页后,①是之前创建的ckeditor对象,执行了destroy()方法后②是undefined,执行创建代码后③是新的ckeditor对象。

最新文章

  1. jvm中的动态分派
  2. python字符串格式化输出
  3. java中的IO操作总结
  4. Python基础、文件处理
  5. 栈的图文解析 和 对应3种语言的实现(C/C++/Java)
  6. poj2269 Friends
  7. &lt;System.ServiceModel&gt;
  8. BootstrapDialog自动加&lt;br&gt; BUG处理
  9. sqlserver 类似oracle的rownum功能: row_number
  10. 【网络流】【HDU3081】Marriage Match II
  11. jquery列队动画简单演示
  12. tomcat支持php
  13. proc文件系统探索 之 根目录下的文件[二]
  14. gradle测试出现IllegalArgumentException
  15. sau交流学习社区第三方登陆github--oauth来实现用户登录
  16. gulp前端自动化构建并上传oss
  17. 阿里云centos7成功安装和启动nginx,但是外网访问不了的解决方案
  18. Linux文件管理命令 cat
  19. 006-筛选分类排序搜索查找Filter-Classificatio-Sort-Search-Find-Seek-Locate
  20. sublime text3 增加代码片段(snipper)

热门文章

  1. 下一代Asp.net开发规范OWIN(2)—— Katana介绍以及使用
  2. 一个页面实例化两个ueditor编辑器,同样的出生却有不同的命运
  3. Html--表单练习
  4. XtraBackup出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock'
  5. ORA-01950: no privileges on tablespace xxxx
  6. T-SQL查看数据库恢复(RESTORE)时间
  7. Red Hat Enterprise Linux Server 6.5安装GCC 4.9.2
  8. Java读写文本文件操作
  9. Python实用环境pyenv搭建教程
  10. [转]jquery遍历table的tr获取td的值