Js复制文本功能

参考:
1.https://www.cnblogs.com/tylerdonet/p/4533782.html
2.https://www.cnblogs.com/wisewrong/p/7473978.html

平时工作上会遇到一键复制文本、链接等需求,这就需要点击某个按钮,触发js事件把指定的文本复制到粘贴板上,以便其他地方使用。

注意:这些方法只在webkit内核浏览器测试过,并没有做过其他浏览器的兼容,如果需要兼容其他浏览器,请自行搜索。

目前会在以下三种情况下实现:

1、已经选中p/span等标签的文本,需要复制选中文本

<script type="text/javascript">
function copyTxt() {
  document.execCommand("Copy"); // 这句就可以把已选文本复制
}
</script>

2、实现点击按钮,复制文本框中的的内容

<script type="text/javascript">
function copyUrl() {
  let url = document.querySelector('input');
  url.select(); // 选择对象
  document.execCommand('Copy'); // 执行浏览器复制命令
  alert("已复制好,可贴粘。");
}
</script>

3、没选中,但想要复制指定元素的文本。
思路:在文本标签中,绝对定位一个透明的input(这个input不能用type=hidden或者display、visibility去隐藏,会获取不到文本的),然后点击复制按钮,去获取这个Input的文本

<style>
input {position: absolute; top: 0; left: 0; opacity: 0; z-index: -10;}
</style>

<script type="text/javascript">
function copyTxt() {
  let url = document.querySelector('input');
  url.select(); // 选择对象
  document.execCommand('Copy'); // 执行浏览器复制命令
  alert("已复制好,可贴粘。");
}
</script>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,050评论 3 119
  • 1,感恩天地滋养万物,感恩宇宙永恒,感恩大自然无私的奉献,感恩祖宗护佑,感恩风调雨顺,国泰民安。 2,感恩父母生养...
    黄巧珍阅读 1,274评论 0 0
  • 我的理想就是自己开家小店,累了就去旅游,腻了就回来工作,完美
    想写点什么阅读 1,846评论 0 0
  • 抛开工作与琐碎,亲爱的解忧人,我想给你写封信。希望你别嫌弃我以吐槽或倾吐负能量的身份向您交涉。 我在上海工作,一家...
    七月上的冥王星阅读 4,533评论 0 0
  • 郭相麟 活在过去 是自设牢笼消耗能量 活在未来 是飞越过去的雾霾 放下精神包袱 只为现在凝聚能量 相...
    郭相麟阅读 1,449评论 0 0