我有一个已被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网络实现。
答案 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
});
});