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打造PHP的AJAX表单提交实例
Nov 03 Javascript
JavaScript中字符串(string)转json的2种方法
Jun 25 Javascript
深入剖析JavaScript编程中的对象概念
Oct 21 Javascript
jQuery手动点击实现图片轮播特效
Apr 20 Javascript
基于JQuery打造无缝滚动新闻步骤详解
Mar 31 Javascript
原生js实现电商侧边导航效果
Jan 19 Javascript
微信小程序 ecshop地址三级联动实现实例代码
Feb 28 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
Jul 13 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
vue 子组件和父组件传值的示例
Sep 11 Javascript
React-vscode使用jsx语法的问题及解决方法
Jun 21 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实现数字补零功能的2个函数介绍
2014/05/12 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
web基于浏览器的本地存储方法应用
2012/11/27 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
Python 如何提高元组的可读性
2019/08/26 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
Python如何解除一个装饰器
2020/08/07 Python
pandas apply多线程实现代码
2020/08/17 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
2014年庆元旦活动方案
2014/02/15 职场文书
企业宣传工作方案
2014/06/02 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
领导干部学习心得体会
2016/01/23 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
table不让td文字溢出操作方法
2022/12/24 HTML / CSS