Javascript CKEDITOR:防止图像属性对话框出现在<;img>;双击
我正在使用CKEDITOR 4.5.1,希望在编辑器中双击图像时,禁用“图像属性”对话框 搜索之后,我发现了一个解决方案,如下所示:Javascript CKEDITOR:防止图像属性对话框出现在<;img>;双击,javascript,jquery,ckeditor,Javascript,Jquery,Ckeditor,我正在使用CKEDITOR 4.5.1,希望在编辑器中双击图像时,禁用“图像属性”对话框 搜索之后,我发现了一个解决方案,如下所示: CKEDITOR.instances.pageContent.on( 'doubleclick', function( evt ) { var element = evt.data.element; if ( element.is( 'img' ) && !element.data( 'cke-realelement' ) &am
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,但没有成功。这个配置对我有效 CKEDITOR.config.removePlugins='image,forms'强>
我有4.5.4版如果您想在某些情况下以编程方式禁用图像弹出窗口,则必须将事件优先级设置为998(并且
e.data.dialog=null
)
dialog插件以999()优先级运行,因此在设置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)
);
谢谢你的信息。如上所示,再加上添加一个自定义按钮,使我达到了我想要达到的目标。