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 解决上述问题的技巧...
我已经为 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 解决上述问题的技巧...