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 相关文章推荐
IE autocomplete internet explorer's autocomplete
Jun 30 Javascript
JQuery之拖拽插件实现代码
Apr 14 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
Aug 14 Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 Javascript
js+html5绘制图片到canvas的方法
Jun 05 Javascript
jquery原理以及学习技巧介绍
Nov 11 Javascript
Angular.JS中的指令引用template与指令当做属性详解
Mar 30 Javascript
30分钟快速实现小程序语音识别功能
Nov 27 Javascript
在移动端使用vue-router和keep-alive的方法示例
Dec 02 Javascript
vue-router 起步步骤详解
Mar 26 Javascript
学习LayUI时自研的表单参数校验框架案例分析
Jul 29 Javascript
vue绑定class的三种方法
Dec 24 Vue.js
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
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
ie下动态加态js文件的方法
2011/09/13 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
python中for语句简单遍历数据的方法
2015/05/07 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
详解Django配置JWT认证方式
2020/05/09 Python
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
员工团队活动方案
2014/08/28 职场文书
工伤事故赔偿协议书
2014/10/27 职场文书
2014年组织部工作总结
2014/11/14 职场文书
2014年科协工作总结
2014/12/09 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python