调用onChange函数据说内置于ckeditor 4.2+中

时间:2014-03-25 16:48:02

标签: javascript ckeditor

我有一个CKEditor textarea(版本4.3)和一个javascript函数,requiredCheck()我想在输入文本时调用它。

据说,这个功能是从版本4.2开始构建到ckeditor中的,作为'撤消'的一部分。功能,但我无法找到有关如何实际调用和使用它的任何信息。我通过搜索找到的所有东西都太老了,无法提供帮助(旧版本在内置版本之前会有痛苦的黑客攻击。)

我相信这是文档的相关部分,但我对ckeditor或javascript的熟练程度不足以真正了解我应该对此做些什么:

http://docs.ckeditor.com/#!/api/CKEDITOR.event-method-on

是否有人使用4.2+的内置功能完成此操作?

这是我现在根据以下回复尝试的内容,但它仍然无效。希望它只是一个语法问题?

<textarea name="editor1" id="editor1" rows="20" cols="80" ></textarea>
<script>
    CKEDITOR.replace( 'editor1', {
        filebrowserUploadUrl: "upload.php",
        on: {
            change: function() {
            requiredCheck();
            }
        }
    } );
</script>

任何帮助将不胜感激。是的,我已经清除了浏览器缓存,我知道ckeditor对此很敏感。

2 个答案:

答案 0 :(得分:4)

// Create editor instance.
var editor = CKEDITOR.replace( 'editor' );

// Attach event listener to the #change event.
editor.on( 'change', function() {
    doSomethingOnChange();
} );

甚至更短,使用特殊选项`config.on

CKEDITOR.replace( 'editor', {
    on: {
        change: function() {
            doSomethingOnChange();
        }
    }
} );

示例:http://jsfiddle.net/N6v8Z/

答案 1 :(得分:0)

尝试使用此

   onChange: function (element, callback) {
        var editor = CKEDITOR.dom.element.get(element).getEditor();
        if (editor) {
          editor.on('change', function () {
            alert("Change");
          });
        }
        return !!editor;
      },

希望这有帮助。