我们正在尝试将CKEditor 5应用到我们的应用中,而且我们正在努力与文档进行比较。
我们希望将删除事件禁用到编辑区域或以某种方式控制它。是否有事件发生?
我们试图editor.model.document.on('clipboardInput')
或editor.model.document.on('dragover')
没有运气。这些事件不会被解雇。
答案 0 :(得分:2)
您需要收听dragover
上的drop
和view 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/。