前言

​ 之前也做过点击文本框内容自动复制的功能,但从来没遇到过点击非文本框自动复制的需求。在这里也一起记录下,如何实现这两种情况。

1.点击文本框,自动全选(移动端比较直观)

ps: 这种情况也可以使用Clipboard.js实现

1

2

3

4

5

6

7

8

9

function oCopy(obj){

obj.select();

js=obj.createTextRange();

js.execCommand("Copy")

alert("复制成功!");

}

createTextRange()

主要是用来对一些文本对象进行操作.比如你有一大段文字,都在同一个P标签内,但是你只希望通过JS改变其中的一小部分,这时就可以用createTextRange来创建Range对象操作文本.因为默认情况下文本只是文本,并不是对象,要想像操作对象那样操作文本,只能是创建为Range对象.这是要操作的文本就具有了对象的功能和特性了。

2.点击非文本框,自动复制(以span标签为例)

方法:使用Clipboard.js实现。

兼容性如图所示:

那么如何解决低版本不兼容的问题呢?

官网指出:The good news is that clipboard.js gracefully degrades if you need to support older browsers. All you have to do is show a tooltip saying Copied! when success event is called and Press Ctrl+C to copy when error event is called because the text is already selected.

解决方案:

1

2

3clipboard.on('error', function(e){

alert('请选择“拷贝”进行复制!')

});

完整代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14微信号46333313

//init

var clipboard = new Clipboard('.btn');

//优雅降级:safari 版本号>=10,提示复制成功;否则提示需在文字选中后,手动选择“拷贝”进行复制

clipboard.on('success', function(e){

alert('复制成功!');

e.clearSelection();

});

clipboard.on('error', function(e){

alert('请选择“拷贝”进行复制!')

});

3.点击按钮,自动复制文本框内容

方法:使用Clipboard.js实现。

完整代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Cut to clipboard

//init

var clipboard = new Clipboard('.btn');

//优雅降级:safari 版本号>=10,提示复制成功;否则提示需在文字选中后,手动选择“拷贝”进行复制

clipboard.on('success', function(e){

alert('复制成功!');

e.clearSelection();

});

clipboard.on('error', function(e){

alert('请选择“拷贝”进行复制!')

});

data-clipboard-action=”cut” 可以实现剪切功能。

追加:之后发现动态添加到页面的内容,点击后复制,需要点击两次才生效。

php 点击按钮自动复制,实现点击元素自动复制内容的功能相关推荐

  1. 点击按钮返回数组 ages 中所有元素都大于输入框指定数值的元素和 $set()

    返回数组 ages 中所有元素都大于输入框指定数值的元素: <body><p>点击按钮返回数组 ages 中所有元素都大于输入框指定数值的元素.</p> <p ...

  2. jquery实现点击按钮变灰不可点击并开始倒计时10秒特效代码

    jquery实现点击按钮变灰不可点击并开始倒计时10秒特效代码 实现代码 代码解析 1.给按钮绑定一个点击事件 2.设置一个初始的时间值,决定按钮过多少秒恢复 3.进行时间判断 4.设置一个计时器 实 ...

  3. 项目--点击按钮显示资料,点击空白处隐藏资料

    点击空白处隐藏资料 点击按钮显示资料在这里插入代码片 <!DOCTYPE html> <html lang="en"><head><met ...

  4. VUE实现华视身份证阅读器读取身份证信息(本文分两种情况,第一中是点击按钮读取信息,一种是自动读取信息)

    本文是用了vue+element来实现华视身份证读卡器读取身份信息的,当然在开发之前要做好前提准备,就是厂家提供对应设备的api和安装对应的驱动.本文通过两种方法来实现读取信息,第一种是点击按钮读取信 ...

  5. 点击按钮测试用例标题_功能测试有哪些用例?分享功能测试用例大全

    登录.添加.删除.查询模块是我们经常遇到的,这些模块的测试点该如何考虑? 1)登录 ① 用户名和密码都符合要求(格式上的要求) ② 用户名和密码都不符合要求(格式上的要求) ③ 用户名符合要求,密码不 ...

  6. 点击按钮创建一个表格 点击按钮创建一个表格 权限选择 元素的value属性操作

    点击按钮创建一个表格 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  7. PHP js 点击按钮 切换模版,javascript点击按钮实现隐藏显示切换效果_javascript技巧...

    本文实例分享了点击按钮实现隐藏和显示的切换代码,供大家参考,具体内容如下 效果图: 在不少应用中,都有这样的功能,点击同一个按钮可以实现一个元素的显示和隐藏的切换,下面就通过代码实例介绍一下如何实现此 ...

  8. html点按钮展开图片,案例:点击按钮隐藏图片 再次点击显示图片

    要求如题,本宝宝的代码如下: Document .hide{ display: none; } 隐藏图片 function fn(){ var img=document.getElementById( ...

  9. php点击按钮加载控制器,php – Codeigniter 3自动加载控制器

    我在codeigniter中使用REST Server,使用的方法是在我的应用程序中使用所有控制器,我必须在开始时写下这一行: require APPPATH . '/libraries/REST_C ...

  10. Excel:动态图表展示(点击按钮选择不同的员工名字,自动呈现对应的数据展示)

    现在有四名员工的各季度销售数据,现在想在Excel中动态展示. 第一步:任意选择一个单元格,再点击数据-数据验证会出现如下选择框. 第二步:在上述选择框的来源处,选中姓名(四个员工名字)那一列,则会出 ...

最新文章

  1. 从Qcheck 1.3 不能在不同操作系统上运行问题(chro124、chro342)说开来------
  2. 2021-04-14 Matlab实现模糊聚类分析 FCM
  3. boost::regex模块将字符串拆分为标记的测试程序
  4. python中的property
  5. bootstrap tab 模拟点击_【第七课】Bootstrap的魅力
  6. C 与 C++ 40 年的爱恨情仇
  7. java开发者工具开源版_开源工具如何帮助飓风受害者
  8. 特斯拉地图数据服务以后由百度地图提供
  9. Atitit.atiRI  与 远程调用的理论and 设计
  10. 阵列信号处理-学习笔记001
  11. 中班音乐会跳舞的机器人_中班音乐律动机器人
  12. 31省“5G应用”主攻方向+责任单位一览!
  13. 计算机在中医方剂中的应用,利用网络技术实现计算机中医疾病及处方检索的应用方法专利_专利查询 - 天眼查...
  14. IE浏览器异常,无法正常使用,如何修复?
  15. C. Dominant Character (思维 暴力
  16. 美国杜克大学计算机专业世界排名,美国杜克大学世界排名是多少呢?
  17. 小米商城网页制作大全-完结篇
  18. 年后跳槽如何准备?(前端方向)
  19. 电子取证平台需求设计文档
  20. 总结: 数组常用的方法

热门文章

  1. Python菜鸟入门:day17编程学习
  2. 拼多多否认对极兔快递“政策倾斜”;86版西游记“红孩儿”成中科院博士;AirTag遭破解 | 极客头条...
  3. 蚂蚁集团换帅!胡晓明辞任 CEO
  4. 「1s」即可!用 VS Code 一键玩转 GitHub 代码!
  5. 中国联通最快明年实现2G全面退网;苹果发布iOS 14.3后火速撤回:原因未知;Angular 11.0.0 正式发布|极客头条
  6. 大厂开发“大牛”,你距离他们有多远?
  7. 热点 | Excel不“香”了,数据分析首选Python!
  8. 我做计算机视觉工程师的第一个月都学会了什么?
  9. 任天堂连遭数据泄露,《动森》太火爆惊动黑客?
  10. 以太坊 2.0、分片、DAG、链下状态通道……概述区块链可扩展性的解决方案!