我正在使用CKEDITOR 4.5.1,并希望在编辑器中双击图像时禁用图像属性对话框。
在搜索之后,我遇到了看起来像是解决方案的内容,如下所示:
CKEDITOR.instances.pageContent.on( 'doubleclick', function( evt ) {
var element = evt.data.element;
if ( element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() ){
evt.data.dialog = null;
}
}, null, null, 10000) ;//priority has to be higher than image priority.
代码会触发并将对话框设置为null,但仍会显示默认图像属性对话框。我的假设是CKEDITOR中的监听器在上面的代码执行后运行并设置对话框。我已经尝试过不同的值代替10000而没有成功。
答案 0 :(得分:6)
这个配置对我有用
CKEDITOR.config.removePlugins ='image,forms';
我有4.5.4版本
答案 1 :(得分:1)
如果要在某些情况下以编程方式禁用图像弹出窗口,则必须将事件优先级设置为998(和e.data.dialog = null
)。
对话框插件的运行优先级为999(https://github.com/ckeditor/ckeditor-dev/blob/major/plugins/dialog/plugin.js#L3355),因此之后的任何内容均无效,并且在设置e.data.dialog
之前,任何低于998的内容都可以运行。
editor.on(
'doubleclick',
function(e) {
var element = e && e.data && e.data.element;
if (element && element.is('img') && element.getAttribute('class').indexOf('something') >= 0) {
e.data.dialog = null;
}
},
null,
null,
998 // Needs to be below 999 because thats when the dialog plugin will run (https://github.com/ckeditor/ckeditor-dev/blob/major/plugins/dialog/plugin.js#L3355)
);