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 相关文章推荐
Mootools 1.2教程(21)——类(二)
Sep 15 Javascript
Javascript 绘制 sin 曲线过程附图
Aug 21 Javascript
轻松掌握JavaScript享元模式
Aug 27 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
Oct 20 Javascript
js前端实现图片懒加载(lazyload)的两种方式
Apr 24 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
微信小程序动态显示项目倒计时效果
Jun 13 Javascript
使用jQuery实现简单的tab框实例
Aug 22 jQuery
JavaScript实现计算圆周率到小数点后100位的方法示例
May 08 Javascript
微信小程序template模版的使用方法
Apr 13 Javascript
vue路由守卫及路由守卫无限循环问题详析
Sep 05 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
Oct 31 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
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
php微信公众号开发之简答题
2018/10/20 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
Convert Seconds To Hours
2007/06/16 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
深入理解Python分布式爬虫原理
2017/11/23 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
浅析python中while循环和for循环
2019/11/19 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
写好自荐信的几个要点
2013/12/26 职场文书
社区中秋节活动方案
2014/01/29 职场文书
文秘人员工作职责
2014/01/31 职场文书
培训楼经理岗位责任制
2014/02/10 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android
什么是SOLID
2022/03/24 Javascript
排查MySQL生产环境索引没有效果
2022/04/11 MySQL