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 相关文章推荐
取键盘键位ASCII码的网页
Jul 30 Javascript
js两行代码按指定格式输出日期时间
Oct 21 Javascript
js导出格式化的excel 实例方法
Jul 17 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
Feb 21 Javascript
AngularJS基础学习笔记之控制器
May 10 Javascript
React实现双向绑定示例代码
Sep 19 Javascript
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
Angular.js组件之input mask对input输入进行格式化详解
Jul 10 Javascript
jQuery实现的两种简单弹窗效果示例
Apr 18 jQuery
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
Apr 30 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 Javascript
通过实例解析vuejs如何实现调试代码
Jul 16 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
windows中为php安装mongodb与memcache
2015/01/06 PHP
php的debug相关函数用法示例
2016/07/11 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
Prototype Class对象学习
2009/07/19 Javascript
javascript事件问题
2009/09/05 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
跟老齐学Python之dict()的操作方法
2014/09/24 Python
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
Python的math模块中的常用数学函数整理
2016/02/04 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
python集合是否可变总结
2019/06/20 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
什么是Remote Module
2016/06/10 面试题
门卫班长岗位职责
2013/12/15 职场文书
销售找工作求职信
2013/12/20 职场文书
个人求职信范例
2014/01/29 职场文书
中学生获奖感言
2014/02/04 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
高中生班主任评语
2014/04/25 职场文书
教师演讲稿开场白
2014/08/25 职场文书
丧事答谢词大全
2015/09/30 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
Python字符串常规操作小结
2022/04/03 Python
Java对文件的读写操作方法
2022/04/29 Java/Android