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 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
Eclipse引入jquery报错如何解决
Dec 01 Javascript
js与applet相互调用的方法
Jun 22 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
Dec 18 Javascript
vue环形进度条组件实例应用
Oct 10 Javascript
webpack4+react多页面架构的实现
Oct 25 Javascript
vue-cli3配置与跨域处理方法
Aug 17 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
Sep 26 Javascript
vue计算属性无法监听到数组内部变化的解决方案
Nov 06 Javascript
javascript的delete运算符知识点总结
Nov 19 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
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
PHP7 list() 函数修改
2021/03/09 PHP
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
React SSR样式及SEO的实践
2018/10/22 Javascript
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
PyQt5实现登录页面
2020/05/30 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
python 实现简易的记事本
2020/11/30 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
C++面试题:关于链表和指针
2013/06/05 面试题
建筑专业自荐信范文
2014/01/05 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL
浅谈Python中的正则表达式
2021/06/28 Python
MySQL读取JSON转换的方式
2022/03/18 MySQL
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技