我无法弄清楚如何在ckeditor中收听焦点,点击,onKeyUp和其他基本dom事件。在events summary中,只有少数关于ckeditor生命周期的事件。 ckeditor的“textArea”是一个iframe,它本身就是html,所以不清楚要监听什么dom节点。
答案 0 :(得分:27)
这不是什么大问题,只需执行以下操作,适用于焦点,模糊,点击等。
var ckeditor = CKEDITOR.instances['textArea_id'];
ckeditor.on('focus', fnHandler, context, data, priority);
或jQuery示例:
$(document).ready(function () {
$('#YOUR_TEXTAREA_ID').ckeditor(ckeditor_config);
CKEDITOR.instances.YOUR_TEXTAREA_ID.on('blur', fnHandler);
});
我不知道这个支持何时出现,但它肯定适用于3.5.x
答案 1 :(得分:8)
CKEditor实际上在对象中有内置的事件处理。请参阅此文章以获取解释:http://alfonsoml.blogspot.com/2009/09/ckeditor-events.html
因此,要在CKEditor实例中捕获修改,您可以这样做:
CKEDITOR.on('currentInstance', function(){modified = true;});
此外,版本3似乎内置了一个事件处理器,它更直接:http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.ui.dialog.file.html#eventProcessors
CK有点复杂,文档有漏洞,但基于它能够优雅地处理Word生成的HTML,它使我的投票成为最佳选择。