2016-02-26 38 views
0

在CKEditor中,如何禁用拖放?在CKEditor内联实例中,如何禁用拖放?

我不希望人们不小心将页面的其他元素拖放到各自的编辑器中。

我认为这需要拦截浏览器特定事件并阻止它们,但我不确定如何在CKEditor中执行此操作。

感谢您的帮助!

回答

0

取自THIS STACKOVERFLOW ANSWER

起初我尝试用config.removePlugins = '的DragDrop,篮' 禁用;但它根本不起作用。

然后我发现这个链接,它帮助我解决了这个问题并编写了一个插件来完成这项工作。

无论如何,我写在这里如何做的伎俩。

有了痘痘修改我写的这个插件:

要使用它,你必须创建一个名为“空投” ./plugins的一个文件夹里面。然后创建一个文件名为plugin.js,并把这个内容:

CKEDITOR.plugins.add('dropoff', { 
    init: function (editor) { 

      function regectDrop(event) { 
       event.data.preventDefault(true); 
      }; 

      editor.on('contentDom', function() { 
      editor.document.on('drop',regectDrop); 
      }); 

     } 
}); 

它之后,你必须registrate它的CKEditor config.js。

config.extraPlugins ='dropoff';

如果您已经使用一个额外的pluging只放了 “” 以前类似这样的:

config.extraPlugins = 'mypreviousplugin上下车';

而且很开心! \ o/

+0

已经尝试过。这在Firefox 44中不起作用,我仍然可能会不小心将元素拖入内联ckeditor实例中。 – cantchoos

+0

我更新了我的答案,检查是否有效! –

+0

@cantchoos试过吗? –