在 onCopy 钩子(插件)中获取复制的内容

Ape*_*ron 5 javascript reactjs react-native slatejs react-slate

我试图将复制的片段onCopy徒劳地放入钩子中。

我一直在尝试 event.clipboardData...

const { clipboardData } = event;
const encoded = clipboardData.getData("application/x-slate-fragment");
Run Code Online (Sandbox Code Playgroud)

但它似乎是空的。我也尝试过使用getEventTransferutils。但它返回{type: 'unknow'}

这是我一直在测试的CodeSandBox

Sad*_*mal 1

我认为不可能获得saltejs片段,如果您也会看到文档https://docs.slatejs.org/v/v0.47/slate-react/utils#functions这里他们也要求先制作片段,然后将数据复制到其中。所以我认为你可以使用 JavaScript,如果有帮助的话,只是一个建议。

如果您只想获取复制的文本,请尝试在onCopy函数内使用纯 JavaScript

const copied_text = window.getSelection().toString();

如果您想获取复制文本的片段,请使用

event.target.outerHTMLevent.target.innerHTMLonCopy function

如果你想创建另一个复制的片段,你可以这样做

document.createRange().createContextualFragment(event.target.outerHTML)