如何在CKEditor 5中禁用丢弃事件

时间:2018-05-28 08:34:10

标签: ckeditor ckeditor5

我们正在尝试将CKEditor 5应用到我们的应用中,而且我们正在努力与文档进行比较。

我们希望将删除事件禁用到编辑区域或以某种方式控制它。是否有事件发生?

我们试图editor.model.document.on('clipboardInput')editor.model.document.on('dragover')没有运气。这些事件不会被解雇。

1 个答案:

答案 0 :(得分:2)

您需要收听dragover上的dropview layer事件,而不是the model上的事件。

我准备了一个简单的函数,可以作为插件加载到CKEditor 5,取消这些事件:

/**
 * Cancel the `drop` and `dragover` events.
 *
 * @param {module:core/editor/editor~Editor} editor
 */
function cancelDropEvents( editor ) {
    // High priority means that the callbacks below will be called before other CKEditor's plugins.

    editor.editing.view.document.on( 'drop', ( evt, data ) => {
        // Stop executing next callbacks.
        evt.stop();

        // Prevent the default event action.
        data.preventDefault();
    }, { priority: 'high' } );

    editor.editing.view.document.on( 'dragover', ( evt, data ) => {
        evt.stop();
        data.preventDefault();
    }, { priority: 'high' } );
}

您可以在线检查其工作原理 - https://jsfiddle.net/pomek/qz0o9ku0/