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 相关文章推荐
jquery取消选择select下拉框示例代码
Feb 22 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
Jul 15 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
js实现前端分页页码管理
Jan 06 Javascript
vue系列之动态路由详解【原创】
Sep 10 Javascript
JS鼠标3次点击事件实现代码及扩展思路
Sep 12 Javascript
React实践之Tree组件的使用方法
Sep 30 Javascript
nginx配置React静态页面的方法教程
Nov 03 Javascript
javascript实现电脑和手机版样式切换
Nov 10 Javascript
vue.js项目nginx部署教程
Apr 05 Javascript
Vue中div contenteditable 的光标定位方法
Aug 25 Javascript
小程序如何写动态标签的实现方法
Feb 05 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
在线短消息收发的程序,不用数据库
2006/10/09 PHP
ZF等常用php框架中存在的问题
2008/01/10 PHP
解析MySql与Java的时间类型
2013/06/22 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
javascript 获取浏览器版本
2015/01/21 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
js html实现计算器功能
2018/11/13 Javascript
小程序实现搜索框
2020/06/19 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
Python递归函数实例讲解
2019/02/27 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
python多线程和多进程关系详解
2020/12/14 Python
酒店总经理工作职责
2013/12/13 职场文书
五一服装活动方案
2014/01/11 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
上诉答辩状范文
2015/05/22 职场文书
社区结对共建协议书
2016/03/23 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers