最近项目有个点击复制到粘贴板的需求,在这里做一个简单的例子分享给大家,没考虑兼容性,需要兼容的大家去查找下文档

//html
<p id="element">测试测试<p>
<botton onclick="copyText(ele)">点击复制</botton>

  

//js
function copyText(ele) {
  var element = document.querySelecter(ele);

   var selection = window.getSelection();   // 创建Selection 对象

     var range = document.createRange(); //创建Range 对象

range.selectNodeContents(element); //设定一个目标节点内容的 Range

selection.removeAllRanges();  //清空选择区域

selection.addRange(range);  //选中元素, 这一步可以实现全选

document.execCommand("copy"); //复制到粘贴板

     selection.removeAllRanges(); //选择完成之后清空选择

element.oncopy = function(e) { //监听 复制事件
                e.preventDefault();
                let copyMsg = window.getSelection() + '商业转载请注明出处。'; // window .getSelection() 表示选择的内容
                e.clipboardData.setData("Text", copyMsg); // 将复制信息添加到剪切板
         }

}

一个简单的选择,复制粘贴就实现啦

js实现选择及复制粘贴的更多相关文章

  1. slickgrid ( nsunleo-slickgrid ) 8 区域选择与复制粘贴

    区域选择 区域选择是通过插件CellRangeSelector实现的,默认不支持跨冻结列进行选择,修正了选择,支持跨冻结列,代码如下,通过判断选择的起点和终点所落在的冻结范围进行计算,如从左往右进行复 ...

  2. Eclipse编辑JS响应慢,复制粘贴卡顿的解决方案

    我使用的是官网标准版的eclipse4.3 for javaEE, 写JS时卡的简直无法忍受,尝试去掉所有的validate,包括菜单和项目属性中的都没作用. 整个人都急疯了~ 后来在项目根目录.pr ...

  3. js实现复制粘贴功能

    在项目中使用到复制粘贴功能,虽然网上有很多大牛封装了很多的插件,但是还是想不去使用插件,就像自己来实现这个功能. 另一篇是禁止复制粘贴 前端er怎样操作剪切复制以及禁止复制+破解等 初步想法: 1. ...

  4. 前端复制粘贴文字clipBoard.js的使用

    1. vue  中的复制粘贴: <div class="mainTextItem" @click="copyTXTOne" id="copyOn ...

  5. 【神器】vimum在浏览器中键盘操作选择、复制、粘贴,键盘党的最爱

    1.下载: http://files.cnblogs.com/files/quejuwen/vimum_extension_1_56.zip 2.开源:https://github.com/philc ...

  6. js屏蔽浏览器右键菜单,粘贴,复制,剪切,选中(转)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. JS 禁止右键,禁止复制,禁止粘贴

    原文:JS 禁止右键,禁止复制,禁止粘贴 如何用用javascript 禁止右键,禁止复制,禁止粘贴,做站时常会用到这些代码,所以收藏了一下!1. oncontextmenu="window ...

  8. js 实现复制粘贴文本过滤(保留文字和图片)

    实现复制粘贴文本过滤(保留文字和图片) demo如下: <head> <meta http-equiv="Content-Type" content=" ...

  9. 通过如何通过js实现复制粘贴功能

    在ie中window.clipboardData(剪切板对象)是可以被获取,所以利用这个方法我们可以实现在IE当中复制粘贴的功能,demo如下! <html> <head> & ...

随机推荐

  1. 洛谷 P3384 【模板】树链剖分-树链剖分(点权)(路径节点更新、路径求和、子树节点更新、子树求和)模板-备注结合一下以前写的题目,懒得写很详细的注释

    P3384 [模板]树链剖分 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节 ...

  2. 转:Super Awesome Fuzzing, Part One

    转:https://labsblog.f-secure.com/2017/06/22/super-awesome-fuzzing-part-one/ An informative guide on u ...

  3. CodeForces 738D Sea Battle

    抽屉原理. 先统计最多有$sum$个船可以放,假设打了$sum-a$枪都没打中$a$个船中的任意一个,那么再打$1$枪必中. #pragma comment(linker, "/STACK: ...

  4. 0822JDBC--Java连接数据库

    JDBC定义:    JDBC全称: Java DataBase Connectivity     独立于特定数据管理系统, 通用的sql数据库存取和操作的公共接口, 是一种面向接口编程    JDB ...

  5. js相关数组迭代方法图解

  6. 解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph

    因为在设计一个树形结构的实体中用到了多对一,一对多的映射关系,在加载其关联对象的时候,为了性能考虑,很自然的想到了懒加载. 也由此遇到了N+1的典型问题 : 通常1的这方,通过1条SQL查找得到1个对 ...

  7. 【我要学python】open函数的简单用法

    open函数 1,使用方法:open('文件路径', '模式',编码方式). 2,最好使用with open as: 省去每一次都需要close()的环节 3,模式介绍: ①w 可写(如果存在,会覆盖 ...

  8. Linux命令之telnet

    telnet [-8EFKLacdfrx] [-X authtype] [-b hostalias] [-e escapechar] [-k realm] [-l user] [-n tracefil ...

  9. Xamarin Android项目提示SDK版本太老

    Xamarin Android项目提示SDK版本太老 错误信息:The installed Android SDK is too old.Version 24.3.4 or newer is requ ...

  10. Manacher算法总结

    部分图片转自:http://www.cnblogs.com/grandyang/p/4475985.html manacher算法(民间称马拉车算法233)是用来找字符串中的最长回文子串的,先来说一下 ...