我正在为CKEditor开发一个插件,需要在保存之前立即对编辑器的内容进行一些更改。在FCKeditor中,我使用OnAfterLinkedFieldUpdate
事件实现了这一点,但我还没有找到在CKEditor中执行此操作的等效方法。我原本希望有一个合适的事件可以挂钩,但似乎没有。有谁知道这样做的方法?
答案 0 :(得分:6)
您可以使用getData事件,但要小心,因为它也会被内部使用。
我已经提交http://dev.fckeditor.net/ticket/5254来重新创建上一个事件
答案 1 :(得分:1)
由于上面的链接实际上没有关于替代OnAfterLinkedFieldUpdate事件的解决方案,我已经写了一篇关于如何绕过它的简短帖子。
以下是表格:
<form id="my_form" action="submit.php" method="post" name="my_form">
<textarea id="my_text" name="my_text"></textarea>
<input id="submitForm" type="submit" name="submitForm" value="Submit" />
</form>
JavaScript的:
var formSubmitted = false;
$("#submitForm").live('click', function(event) {
if (formSubmitted === true) {
formSubmitted = false;
return;
}
event.preventDefault();
//put here function to edit content == OnAfterLinkedFieldUpdate
var editor = CKEDITOR.instances.my_text;
var html = editor.getData();
html.replace(searchvalue, newvalue);
editor.setData(html);
formSubmitted = true;
$(this).trigger('click');
});
代码为here