javascript - 检查 CKEditor 是否已初始化
问题描述
我有 CKEditor 的邮件应用程序,下面的代码用于打开邮件模式,然后在 textarea 上创建 CKEditor,
<textarea id="editor" name="editor" class="border-0"></textarea>
$(document).on('click', '.sendEmailButton', function () {
//Show mail modal
$('#compose').modal("show");
//Init. Editor
ClassicEditor
.create( document.querySelector( '#editor' ) )
.then( newEditor => {
editor = newEditor;
} )
.catch( error => {
console.error( error );
} );
});
我的问题是,当用户单击.sendEmailButton
它时,它会再次重新创建编辑器textarea
,
如何检查是否textarea
分配了 CKEditor 以便在下次单击时不会重新创建它?
谢谢,
解决方案
检查如下,然后创建CKEDITOR将编辑器分配给空的全局变量,然后检查它是否为空。初始化它将为空,它将创建。接下来它将被编辑器占用,而不是再次创建它。
var editorVar = "";
$(document).on('click', '.sendEmailButton', function () {
//Show mail modal
$('#compose').modal("show");
//Init. Editor
if(editorVar == "") {
ClassicEditor
.create( document.querySelector( '#editor' ) )
.then( newEditor => {
editor = newEditor;
editorVar = newEditor;
} )
.catch( error => {
console.error( error );
} );
}
});
推荐阅读
- apache-kafka - kafka流中的消息加密
- bootstrap-4 - 使用 Boostrap 嵌入 Instagram 视频
- java - 如何在不丢失请求的情况下将 REST 请求排队/在 REST 端点上暂停处理一段时间?
- php - 将 TWIG 转换为 PHP 语法
- r - 为什么我无法将 cor.test() 用于点双序列数据?
- multithreading - 来自低级 tcl 库函数 Tcl_NewStringObj 的数据竞争问题
- javascript - ajax响应后如何刷新数据表
- mongodb - 在猫鼬中,.sort().skip() 和 .skip().sort() 之间有区别吗?
- node.js - 为什么使用 typescript 的 node.js 项目在导入 json 文件时需要在 typescript 编译器选项中声明 ResolveJsonModule 为 true?
- javascript - HTML 视频没有在部署的站点上播放,真的很不稳定