仅在CKEditor初始化后运行JavaScript函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅在CKEditor初始化后运行JavaScript函数相关的知识,希望对你有一定的参考价值。

我在ASP.NET MVC应用程序中工作。该应用程序有一个通过@Ajax.ActionLink引入的表单,这个表单有一个textarea,我绑定CkEditor。

我有一些特定的要求,包括抓住用户在CKEditor中键入的内容,并按下按钮传递到某个地方。

所以我目前正在做的是将onChange事件绑定到CKEditor,假设我在CKEditor textarea中更改了某些内容,这可以正常工作。

但是,如果用户获取表单,不更改任何内容,然后按下按钮以获取内容,该怎么办?它不会起作用,因为我的代码只会在某些内容发生变化后抓取。所以我的问题是,我该如何运行以下内容:

/*
* As the user types the email body insert, this function updates the
* value on the hidden input field on [ form#EmailPreviewForm ] above.
*/
var data = CKEDITOR.instances.emailBody.getData();
$('#emailBodyInsert').val(data);

只有在CKEditor完成初始化之后,因为否则我在undefined上发出错误说emailBody;这是有道理的,因为此时CKEditor尚未初始化。

答案

使用CKEditor instanceready事件:

CKEDITOR.replace('editor1', {
    on :
    {
        instanceReady : function( ev ) {
            // your code here
        }
    }
} );

以上是关于仅在CKEditor初始化后运行JavaScript函数的主要内容,如果未能解决你的问题,请参考以下文章

JS CKEditor使用setData后绑定click事件

ckeditor - 在源模式下禁用ENTER键

无法获取 CKEditor 的实例

仅在使用基于 Spring java 的配置运行测试时初始化数据库

我希望 useEffect 仅在道具更改时运行。不在初始运行[重复]

订阅仅在首次初始化后返回空数组