Javascript 处理整个应用程序级别的复制事件,Angular9
我正在开发Angular9应用程序。在某些情况下,当使用双击页面任何部分上的任何文本/标签并进行复制时,默认情况下,Chrome会在复制的文本中添加一些不可打印的字符 所以我认为,如果有一些全局复制事件服务,我可以将其注入主app.module和onCopy中,我可以从复制的文本中替换不可打印的文本 请告诉我怎样才能做到这一点。在javascript中,我发现了如下内容:Javascript 处理整个应用程序级别的复制事件,Angular9,javascript,angular,Javascript,Angular,我正在开发Angular9应用程序。在某些情况下,当使用双击页面任何部分上的任何文本/标签并进行复制时,默认情况下,Chrome会在复制的文本中添加一些不可打印的字符 所以我认为,如果有一些全局复制事件服务,我可以将其注入主app.module和onCopy中,我可以从复制的文本中替换不可打印的文本 请告诉我怎样才能做到这一点。在javascript中,我发现了如下内容: document.addEventListener('copy', (event) => { console.
document.addEventListener('copy', (event) => {
console.log('copy action initiated')
});
使用Rxjs
const source$ = fromEvent(document, 'copy');
现在就订阅吧
let subscription = source$.subscribe (copy =>
{
const selection = document.getSelection();
event.clipboardData.setData('text/plain', selection.toString().toUpperCase());
event.preventDefault();
console.log(copy)
});
还有,别忘了取消您(即Ngondestory)中的订阅。如何获取复制的文本,复制只是事件事件事件是一个对象。您可以在里面找到复制的文本。已更新!您必须检索所选内容并更新剪贴板数据。复制只是当用户执行Ctrl+C或从上下文菜单中选择“复制”时触发的事件……但仅此而已。