2016-02-26 39 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試過嗎? –