我正在开发 ASP.NET MVC 应用程序。该应用程序有一个通过 @Ajax.ActionLink
引入的表单,并且该表单有一个我将 CkEditor 绑定(bind)到的文本区域。
我有具体的要求,包括抓取用户在 CKEditor 中输入的任何内容,然后按一下按钮将其传递到某个地方。
所以我目前正在做的是将 onChange
事件绑定(bind)到 CKEditor,假设我确实更改了 CKEditor 文本区域内的某些内容,该事件可以正常工作。
但是,如果用户获取表单,不更改任何内容,然后按下按钮获取内容,该怎么办?它不起作用,因为我的代码只会在某些内容发生更改后才进行获取。所以我的问题是,如何运行以下命令:
/*
* 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 完成初始化之后,否则我会在 emailBody
上收到一条错误消息,提示 undefined
;这是有道理的,因为此时 CKEditor 尚未初始化。
最佳答案
使用 CKEditor instanceready事件:
CKEDITOR.replace('editor1', {
on :
{
instanceReady : function( ev ) {
// your code here
}
}
} );
关于javascript - 仅在 CKEditor 初始化后运行 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22992599/