angularjs中ckeditor的destroy问题
2024-08-23 04:01:41
项目中,在切换了页面的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对象。
最新文章
- jvm中的动态分派
- python字符串格式化输出
- java中的IO操作总结
- Python基础、文件处理
- 栈的图文解析 和 对应3种语言的实现(C/C++/Java)
- poj2269 Friends
- <;System.ServiceModel>;
- BootstrapDialog自动加<;br>; BUG处理
- sqlserver 类似oracle的rownum功能: row_number
- 【网络流】【HDU3081】Marriage Match II
- jquery列队动画简单演示
- tomcat支持php
- proc文件系统探索 之 根目录下的文件[二]
- gradle测试出现IllegalArgumentException
- sau交流学习社区第三方登陆github--oauth来实现用户登录
- gulp前端自动化构建并上传oss
- 阿里云centos7成功安装和启动nginx,但是外网访问不了的解决方案
- Linux文件管理命令 cat
- 006-筛选分类排序搜索查找Filter-Classificatio-Sort-Search-Find-Seek-Locate
- sublime text3 增加代码片段(snipper)
热门文章
- 下一代Asp.net开发规范OWIN(2)—— Katana介绍以及使用
- 一个页面实例化两个ueditor编辑器,同样的出生却有不同的命运
- Html--表单练习
- XtraBackup出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- ORA-01950: no privileges on tablespace xxxx
- T-SQL查看数据库恢复(RESTORE)时间
- Red Hat Enterprise Linux Server 6.5安装GCC 4.9.2
- Java读写文本文件操作
- Python实用环境pyenv搭建教程
- [转]jquery遍历table的tr获取td的值