8

我正在为 CKEditor 开发一个插件,它需要在保存之前立即对编辑器的内容进行一些更改。在 FCKeditor 中,我使用OnAfterLinkedFieldUpdate事件实现了这一点,但我还没有在 CKEditor 中找到等效的方法。我曾希望有一个合适的事件可以参与,但似乎没有。有谁知道这样做的方法?

4

2 回答 2

6

您可以使用 getData 事件,但要小心,因为它也会被触发以供内部使用。

我已提交http://dev.fckeditor.net/ticket/5254以重新创建上一个事件

于 2010-02-27T23:14:53.487 回答
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');
});

代码在这里

于 2012-08-22T19:26:10.283 回答