首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理整个应用级别的复制事件,Angular9

处理整个应用级别的复制事件,Angular9
EN

Stack Overflow用户
提问于 2020-12-29 11:53:20
回答 1查看 37关注 0票数 0

我正在开发一款Angular9应用程序。在某些情况下,当使用双击页面的任何部分的任何文本/标签,并复制它时,Chrome默认会在复制的文本中添加一些不可打印的字符。

所以我想,如果有一些全局复制事件服务可以注入到主app.module和onCopy中,我就可以替换复制文本中不可打印的文本。

请指教我怎样才能做到这一点。在javascript中,我发现了如下内容:

代码语言:javascript
复制
document.addEventListener('copy', (event) => {
    console.log('copy action initiated')
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-29 12:12:18

使用Rxjs。

代码语言:javascript
复制
const source$ = fromEvent(document, 'copy');

现在只需订阅即可。

代码语言:javascript
复制
let subscription = source$.subscribe (copy => 
{
const selection = document.getSelection();
event.clipboardData.setData('text/plain', selection.toString().toUpperCase());
event.preventDefault();

console.log(copy) 
});

别忘了在你的ngOnDestroy中取消订阅。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65487110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档