我在SO看了很多线程,但找不到解决我问题的答案。所以,我像这样定义一个CKEditor实例:
var editor = $('#test-editor');
editor.ckeditor(function() {}, {
customConfig: '../../assets/js/custom/ckeditor_config.js',
allowedContent: true
});
但是我不知道怎么能抓住change
事件。这就是我试过的:
var t = editor.ckeditor(function() {
this.on('change', function () {
console.log("test 1");
});
}, {
customConfig: '../../assets/js/custom/ckeditor_config.js',
allowedContent: true
});
editor.on('change', function() {
console.log("test 2");
});
t.on('change', function() {
console.log("test 3");
});
所有这三次尝试都以失败告终。我应该补充一点,我不想遍历页面上的所有编辑器,我只想解决一个使用#test-editor
在组件上渲染的特定编辑器。我怎么能这样做?
答案 0 :(得分:1)
jQuery ckeditor()方法返回一个jQuery对象,该对象在其event handling中仅公开了CKEditor的5个事件。要使用其他事件,您需要通过访问jQuery对象的CKEditor.editor属性来使用editor对象。
所以,你需要使用这样的东西:
var myeditor = $('#test-editor').ckeditor({
customConfig: '../../assets/js/custom/ckeditor_config.js',
allowedContent: true
});
myeditor.editor.on('change', function(evt) {
console.log('change detected');
});