试图在ckeditor上调用keyup函数

时间:2014-02-04 14:38:36

标签: jquery ckeditor keyup

我有一个已被ckeditor取代的文本区域。我有一些jquery来收听textarea输入:

$('.formanswer').keyup(function () {
        LimitText($(this), $(this).attr('data-maxlength'));
});

限制文本方法只限制文本输入。

所以现在文本区域标签如下所示:

<textarea class="formanswer" rows="10" cols="2" id="response_<%: animal.AnimalId.ToString() %>" name="animalresponse" data-maxlength="<%: animal.AnimalMaxLength.ToString() %>"><%: animal.AnimalResponse %></textarea>

我正在尝试做同样的事情,但是使用ckeditor ...我已经查看了文档:http://docs.ckeditor.com/#!/guide/dev_jquery

我在编辑器实例上尝试了一些不同的事情,但它没有用...我使用的是javascript实现,而不是asp网络实现。

3 个答案:

答案 0 :(得分:6)

实际上这只适用于ckeditor 4,其中editor是textarea的id:

CKEDITOR.instances.editor.on('key', function(e) {
    var self = this;

    setTimeout(function() {
        console.log(self.getData());
    }, 10);
});

getData返回当前输入的值。延迟,因为否则最后一个值将丢失。

答案 1 :(得分:4)

给定CKEditor的名称是:editor 解决方案是:

var e = CKEditor.instances['editor']

e.on( 'keyup', function( event ) {
    alert( e.getData() );
});

在这个特定的解决方案中,我只是提醒编辑的内容。

答案 2 :(得分:2)

这肯定适用于Ck Editor 4.x及以上

  CKEDITOR.on('instanceCreated', function (e) {
    e.editor.on('change', function (event) {
 var value = CKEDITOR.instances['TestArea_id'].getData();//Value of Editor
});
});