use*_*469 6 jquery ckeditor keyup
我有一个已被ckeditor取代的文本区域.我有一些jquery来收听textarea输入:
$('.formanswer').keyup(function () {
LimitText($(this), $(this).attr('data-maxlength'));
});
Run Code Online (Sandbox Code Playgroud)
限制文本方法只限制文本输入.
所以现在文本区域标签看起来像这样:
<textarea class="formanswer" rows="10" cols="2" id="response_<%: animal.AnimalId.ToString() %>" name="animalresponse" data-maxlength="<%: animal.AnimalMaxLength.ToString() %>"><%: animal.AnimalResponse %></textarea>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用ckeditor做同样的事情......我看过文档:http://docs.ckeditor.com/#!/ guide/dev_jquery
我尝试了一些不同的东西,在编辑器实例上有这个事件,但它没有用...我使用的是javascript实现,而不是asp网络实现.
实际上这只适用于ckeditor 4,其中editor是textarea的id:
CKEDITOR.instances.editor.on('key', function(e) {
var self = this;
setTimeout(function() {
console.log(self.getData());
}, 10);
});
Run Code Online (Sandbox Code Playgroud)
getData返回当前输入的值.延迟,因为否则最后一个值将丢失.
鉴于 CKEditor 的名称是:编辑器,解决方案是:
var e = CKEditor.instances['editor']
e.on( 'keyup', function( event ) {
alert( e.getData() );
});
Run Code Online (Sandbox Code Playgroud)
在这个特定的解决方案中,我只是提醒编辑器的内容。