在剪贴板插件的文档中,http://docs.ckeditor.com/#!/guide/dev_clipboard ,据说编辑器监听了dragover事件但是CKEDITOR.editor.dragover不可用。
如何在编辑器中监听dragover事件?
最佳答案
CKEditor 监听 dragover
事件,以防止页面在拖放时重新加载,并向用户表明他无法拖放某些元素(工具栏、对话框等)。它不会触发 editor#dragover
。
如果您想监听此事件,您可以将监听附加到 native 对象。请注意,该对象在不同的浏览器和编辑器类型上会有所不同。它可以是 document
或可编辑元素(body
、div
等)。要获得正确的元素,请使用 getDropTarget方法。此外,当您将编辑器切换到源模式时,该元素将被删除,而当您切换回可编辑模式时,将创建新元素,因此请使用 attachListener方法和contentDom事件而不是简单的 on
方法。代码如下所示:
editor.on( 'contentDom', function() {
var dropTarget = CKEDITOR.plugins.clipboard.getDropTarget( editor );
editor.editable().attachListener( dropTarget, 'dragover', function( evt ) {
// Your listener code here...
} );
} );
如果您认为 editor#dragover
普遍有用,请在 http://dev.ckeditor.com/ 上为其创建票证.
关于javascript - CKEditor - 拖动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32092302/