CKEDITOR:阻止图片属性对话框出现<img/>双击

时间:2015-09-04 23:26:33

标签: 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' ) && !element.isReadOnly() ){
       evt.data.dialog = null;
    }
 }, null, null, 10000) ;//priority has to be higher than image priority.

代码会触发并将对话框设置为null,但仍会显示默认图像属性对话框。我的假设是CKEDITOR中的监听器在上面的代码执行后运行并设置对话框。我已经尝试过不同的值代替10000而没有成功。

2 个答案:

答案 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)
);