CKEditor - dragover事件

时间:2015-08-19 09:59:07

标签: javascript drag-and-drop ckeditor

在Clipboard插件的文档http://docs.ckeditor.com/#!/guide/dev_clipboard中,据说编辑器会监听dragover事件,但CKEDITOR.editor.dragover不可用。

如何在编辑器中收听dragover事件?

1 个答案:

答案 0 :(得分:2)

CKEditor监听dragover事件,以防止在drop上重新加载页面,并向用户显示他无法删除某些元素(工具栏,对话框等)。它不会触发editor#dragover

如果您想收听此事件,可以附加您对本机对象的聆听。请注意,此对象在不同的​​浏览器和编辑器类型上会有所不同。它可以是document或可编辑元素(bodydiv等)。要使用getDropTarget方法获取正确的元素。当您将编辑器切换到源模式时也将删除该元素,并且当您切换回可编辑模式时将创建新元素,因此使用attachListener方法和contentDom事件而不是简单{ {1}}方法。代码如下所示:

on

如果您editor.on( 'contentDom', function() { var dropTarget = CKEDITOR.plugins.clipboard.getDropTarget( editor ); editor.editable().attachListener( dropTarget, 'dragover', function( evt ) { // Your listener code here... } ); } ); 普遍有用,请在http://dev.ckeditor.com/上为其创建一张票。