javascript - CKEditor - 拖动事件

标签 javascript drag-and-drop ckeditor

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

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

最佳答案

CKEditor 监听 dragover 事件,以防止页面在拖放时重新加载,并向用户表明他无法拖放某些元素(工具栏、对话框等)。它不会触发 editor#dragover

如果您想监听此事件,您可以将监听附加到 native 对象。请注意,该对象在不同的​​浏览器和编辑器类型上会有所不同。它可以是 document 或可编辑元素(bodydiv 等)。要获得正确的元素,请使用 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/

相关文章:

javascript - 开始向下滚动后更改菜单背景不透明度

javascript - jQuery 更改不会在 IE 中从扩展选择中触发

jquery - CSS 文本定位 - 标签上的圆形背景

javascript - 如何ajax提交来自CKEditor的表单文本区域输入?

javascript - Chrome 和 Safari 中的 CKEditor 文本区域超出框范围

javascript - 如何从 Azure Functions JavaScript 函数中获取更详细的错误消息?

javascript - 图像上的工具提示

jQuery 拖放不适用于移动触摸

java - DragGestureEvent 的 startDrag 调用后 JTable 的列错位

javascript - Ckeditor 删除空标签