首页 > 其他分享 >JS实现点击复制

JS实现点击复制

时间:2023-11-30 14:56:23浏览次数:39  
标签:document JS content 点击 复制 ele input copy

JS实现点击复制

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>Js复制代码 js模拟选中,按键粘贴(可用于隐藏域粘贴)</title>
</head>
<body>
<p>啊啊啊</p>
<button id="btn">点击复制</button>
<script type="text/javascript">
var btn = document.getElementById("btn");
btn.addEventListener('click', copyContent);
 
function copyContent () {
  let val = document.querySelector("p").innerText; // 要复制的内容
  document.addEventListener('copy', save); // 监听浏览器copy事件
  document.execCommand('copy'); // 执行copy事件,这时监听函数会执行save函数。
  document.removeEventListener('copy', save); // 移除copy事件
 
  // 保存方法
  function save(e) {
    e.clipboardData.setData('text/plain', val); // 剪贴板内容设置
    e.preventDefault();
  }
}
</script>
	</body></html>

渐变-js复制

<!DOCTYPE html>
<html>
<head>
  <style>
    .gradient-text {
      background-image: linear-gradient( #3fffea, #007eff);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      display: inline-block;
      font-size: 48px;
      font-weight: bold;
    }
  </style>
</head>
<body>
<div class="gradient-text">渐变文字div包裹</div>
<div id="mydiv" src="https://blog.csdn.net/Dark_programmer/article/details/113377270" title="被复制的文本">被复制的文本:123456</div>
<button onClick="mycopy()">复制</button>
<div></div>
<span class="gradient-text">这是渐变文字span包裹</span>
</body>
<script>
function mycopy(){
var content = document.getElementById("mydiv").innerText;
copyToClip(content,"已成功复制");
};
function copyToClip(content,tips) {
      console.log("复制的内容", content,'复制成功后的提示文本',tips);
      var ele = document.createElement("input"); //创建一个input标签
      ele.setAttribute("value", content); // 设置改input的value值
      document.body.appendChild(ele); // 将input添加到body
      ele.select();  // 获取input的文本内容
      document.execCommand("copy"); // 执行copy指令
      document.body.removeChild(ele); // 删除input标签
      if(tips == null){ // 显示复制成功之后的提示文本
		alert('已将内容复制到剪切板')
	 }else{
		alert(tips)
	}
 }

</script>
</html>

标签:document,JS,content,点击,复制,ele,input,copy
From: https://www.cnblogs.com/albertshine/p/17867344.html

相关文章

  • 谷歌Chrome浏览器排查js内存溢出
    1.打开谷歌浏览器检查台2.点击memory3.点击开始快照录制,时隔一会儿录一次,多录几次 4.进行快照对比 ......
  • 自学 --day9---js中的数学操作和时间日期
    typora-copy-images-to:media一、数学处理1、Math常用API圆周率Math.PI//3.1415926535生成随机数Math.random()生成的是0~1之间的随机小数,通常在实际项目中需要获取到一个范围内的随机整数,利用这个随机小数封装一个获取范围内的随机整数的函数:functiongetRando......
  • uniapp使用微信jssdk自定义分享
    前言提示:本文记录的是使用uniapp开发的H5+APP项目,H5端使用微信自定义分享功能,文中有关APP的兼容,如果不需要兼容APP的可以忽略一、引入首先安装jweixin-module包npminstalljweixin-module--save二、封装工具方法为了方便使用,新建一个wechat.js文件://#ifdefH5impo......
  • 前端自动复制功能
    一、步骤1、input,value是你想复制的内容2、聚焦input的文字,input.select()3、执行copy命令document.execCommand("Copy")4、判断是否成功——不准确,但是有比没有好。二、代码实现letinputs=document.createElement("input")//创建节点inputs.value=res.data.data//......
  • js精度丢失的问题,利用lodash函数库重新封装
    functionroundAndPad(num,decimalPlaces){  varrounded=_.round(num,decimalPlaces); //使用Lodash的_.round函数四舍五入  varstr=rounded.toString();  vardecimalIndex=str.indexOf('.');  console.log("str:",str);  console.lo......
  • poi 复制行格式
    //oneTitle是Excel里面设置好的格式,firstTitle要复制onTitle的格式XWPFTableRowfirstTitle=workTable.insertNewTableRow(initRow);createCellsAndCopyStyles(firstTitle,oneTitle,true);/***复制单元格和样式**@paramtargetRow要复制的行......
  • 常用JS工具函数-判断视频的时长
    ......
  • url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
    引子浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。关于浏览器参数操作,请看文章javascript浏览器参数的操作,js获取浏览器参数 ,今天主要讲讲escape(),encodeURI(),enco......
  • vue.js(二)补充
    示例表单:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><scriptsrc="./js/vue.js"></script><title>Title</title></head><body><divclass......
  • 解决主机与虚拟机之间无法复制粘贴的问题办法
    1.卸载VMwareToolssudoapt-getautoremoveopen-vm-tools2.联网安装VMwaretoolssudoapt-getinstallopen-vm-tools-desktop3.记得要重启虚拟机!ps:重启后,使用ctrlc+v似乎还是不能复制粘贴,也不能通过拖动文件来复制,但是可以通过鼠标右键复制粘贴文本或者文件,也算解......