Ckeditor 5 如何以编程方式触发复制、剪切、粘贴事件

Ckeditor 5 How To Trigger Copy, Cut, Paste Events Programmatically

我已经为 ckeditor 实现了右键单击菜单。我插入了 Copy, Cut, Paste 个菜单项。我想触发 ckeditor dom 事件并期望 ckeditor 侦听器捕获事件。但我不知道该怎么做。

我试过运行editor.editing.view.document.fire('cut')。之后,在Clipboard.js中,onCopyCut方法被触发。但是 data 参数是 undefined。如何发送数据参数以及我应该在数据参数中发送什么?

您无法通过自定义按钮进行粘贴。基本上,可以通过 native document.execCommand() 方法访问本机 copy/cut/paste 操作:

document.execCommand( 'copy' );
document.execCommand( 'cut' );
document.execCommand( 'paste' );

但是,只有复制和剪切操作有效。出于安全原因,粘贴被浏览器阻止。

因此,粘贴操作只能由击键或本机 "Paste" 选项(在上下文菜单或菜单栏中)触发。您今天无法通过自定义上下文菜单访问剪贴板(将来可能会改变)。这就是 CKEditor 5 不覆盖本机上下文菜单的原因(不像 CKEditor 4 或其他一些编辑器)。

PS。在 Google Docs 中,自定义 "paste" 按钮有效(在 Chrome 中),因为 Chrome 预装了 Google Docs Addon。这是 Google 解决上述问题的技巧...