JavaScript实现点击按钮复制指定区域文本(推荐)


Posted in Javascript onNovember 25, 2016

html5的webAPI接口可以很轻松的使用短短的几行代码就实现点击按钮复制区域文本的功能,不需要依赖flash。

代码如下:

/* 创建range对象 */
const range = document.createRange();
range.selectNode(element); // 设定range包含的节点对象 
/* 窗口的selection对象,表示用户选择的文本 */
const selection = window.getSelection();
if(selection.rangeCount > 0) selection.removeAllRanges(); // 将已经包含的已选择的对象清除掉
selection.addRange(range); // 将要复制的区域的range对象添加到selection对象中
document.execCommand('copy'); // 执行copy命令,copy用户选择的文本

测试:

浏览器的版本号为我测试时使用的版本。

edge浏览器、Chrome(v54.0.2840.99 m)、Firefox(v49.0.1)可用。

IE9、IE10、IE11会弹出提示询问是否将文本粘贴到剪贴板上。

IE7、IE8不支持该功能。

IOS10的Safari浏览器可用。

根据反馈,IOS9以下的Safari浏览器应该是不支持该功能的。

Demo:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<article id="article">
<h4>公园一日游</h4>
<time>2016.8.15 星期二</time>
<p>今天风和日丽,我和小红去了人民公园,玩了滑梯、打雪仗、划船,真是愉快的一天啊。</p>
</article>
<button id="copy">复制文章</button>
<textarea style="width: 500px;height: 100px;" placeholder="试一试ctrl + v"></textarea>
<script>
function copyArticle(event){
const range = document.createRange();
range.selectNode(document.getElementById('article'));
const selection = window.getSelection();
if(selection.rangeCount > 0) selection.removeAllRanges();
selection.addRange(range);
document.execCommand('copy');
}
document.getElementById('copy').addEventListener('click', copyArticle, false);
</script>
</body>
</html>

以上所述是小编给大家介绍的JavaScript实现点击按钮复制指定区域文本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 Javascript
基于jquery的表头固定的若干方法
Jan 27 Javascript
JavaScript对IE操作的经典代码(推荐)
Mar 10 Javascript
javascritp添加url参数将参数加入到url中
Sep 25 Javascript
jQuery实现“扫码阅读”功能
Jan 21 Javascript
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
vue+element-ui实现表格编辑的三种实现方式
Oct 31 Javascript
Echarts之悬浮框中的数据排序问题
Nov 08 Javascript
angular 用Observable实现异步调用的方法
Dec 27 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
node.js命令行教程图文详解
May 27 Javascript
js实现时钟定时器
Mar 26 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
Nov 25 #Javascript
Bootstrap文件上传组件之bootstrap fileinput
Nov 25 #Javascript
Bootstrap基本布局实现方法详解
Nov 25 #Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
Nov 25 #Javascript
Bootstrap栅格系统学习笔记
Nov 25 #Javascript
JS公共小方法之判断对象是否为domElement的实例
Nov 25 #Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
Nov 25 #Javascript
You might like
很实用的一个完整email发送程序
2006/10/09 PHP
php全角字符转换为半角函数
2014/02/07 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
PHP高手需要要掌握的知识点
2014/08/21 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
php PDO异常处理详解
2016/11/20 PHP
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
如何编写高质量JS代码
2014/12/28 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
jQuery过滤特殊字符及JS字符串转为数字
2016/05/26 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
Python如何访问字符串中的值
2020/02/09 Python
python 制作网站小说下载器
2021/02/20 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
运动会致辞稿50字
2014/02/04 职场文书
总经理岗位职责描述
2014/02/08 职场文书
党员目标管理责任书
2014/07/25 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
同学聚会通知书
2015/04/20 职场文书
党小组鉴定意见
2015/06/02 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
python OpenCV学习笔记
2021/03/31 Python
使用numpy nonzero 找出非0元素
2021/05/14 Python