Javascript 无法捕获编辑器更改事件
我看了很多线索,但找不到解决我问题的答案。因此,我定义了一个CKEditor实例,如下所示:Javascript 无法捕获编辑器更改事件,javascript,jquery,ckeditor,Javascript,Jquery,Ckeditor,我看了很多线索,但找不到解决我问题的答案。因此,我定义了一个CKEditor实例,如下所示: var editor = $('#test-editor'); editor.ckeditor(function() {}, { customConfig: '../../assets/js/custom/ckeditor_config.js', allowedContent: true }); 但是,我不知道如何捕捉change事件。这就是我所尝试的: var t = editor.ck
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
处理组件上呈现的一个特定编辑器。我如何才能做到这一点?jQuery方法返回一个jQuery对象,该对象在其内部仅公开CKEditor的5个事件。为了使用其他事件,您需要通过访问jQuery对象的属性来使用该对象
因此,您需要使用以下内容:
var myeditor = $('#test-editor').ckeditor({
customConfig: '../../assets/js/custom/ckeditor_config.js',
allowedContent: true
});
myeditor.editor.on('change', function(evt) {
console.log('change detected');
});
顺便说一句,我看到我的编辑器变量包含一个promise对象。但我从来没有深入研究过他们,我不知道如何利用这一事实来捕捉这一事件,谢谢!顺便说一句,也许你对CKEditor还有一点了解。在我看来,格式、字体和大小组合框在工具栏上占据了太多的位置。你知道吗,如果可以将它们更改为图标或自定义字母?我曾经为了好玩而更改过它们的标签,但宽度保持不变(可能是因为它们的物品的宽度)。