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 相关文章推荐
js操作checkbox遇到的问题解决
Jun 29 Javascript
javascript 实现字符串反转的三种方法
Nov 23 Javascript
Spring mvc 接收json对象
Dec 10 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
Jul 22 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
jq checkbox 的全选并ajax传参的实例
Apr 01 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
Jan 25 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
Feb 08 Javascript
微信小程序开发之自定义tabBar的实现
Sep 06 Javascript
JavaScript中遍历的十种方法总结
Dec 15 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
文章推荐系统(二)
2006/10/09 PHP
php中的时间显示
2007/01/18 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
大学生专科毕业生自我评价
2013/11/17 职场文书
求职简历中的自我评价分享
2013/12/08 职场文书
团组织关系介绍信
2014/01/12 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
社区工作者先进事迹
2014/01/18 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
红色故事汇观后感
2015/06/18 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript