JavaScript实现点击按钮复制指定区域文本
程序员文章站
2022-05-22 18:18:21
...
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> <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>
上一篇: erlangmnesia数据库备份与还原
下一篇: 再次提供一个IP地理位置查询类
推荐阅读
-
js实现点击按钮复制文本功能
-
JavaScript实现点击按钮复制指定区域文本
-
JS实现点击颜色块切换指定区域背景颜色的方法_javascript技巧
-
JavaScript实现点击按钮复制指定区域文本
-
JS实现点击颜色块切换指定区域背景颜色的方法_javascript技巧
-
个人js学习细节- 实现点击按钮复制文本框中文本到剪切板中的方法
-
Vue实现点击按钮复制文本内容
-
js实现点击复制当前文本到剪贴板功能(兼容所有浏览器)_javascript技巧
-
JS实现点击复选框将按钮或文本框变为灰色不可用的方法_javascript技巧
-
JavaScript实现点击按钮就复制当前网址_javascript技巧