javascript 点击触发复制功能

摘要:

js调用复制功能使用:

document.execCommand("copy", false);

document.execCommand()方法功能很强大,了解更多请戳:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/execCommand

正文:

调用以上方法,就实现了copy功能,可是,在调用之前,你需要先选中需要复制的内容。

选中需要复制的内容可使用select()方法,然而该方法只能选中input或者textarea标签里的内容。

因此,如果你想实现点击一个按钮,就复制一段话的功能

第一:如果这段话是被input或textarea标签包裹,则可以直接只用select(),

第二:如果是其他任意标签包裹的话,则需要新creat一个input标签,给该input标签赋value,然后使用select()方法,最后将该input标签remove了。

完整代码:

function copy(that){
var inp =document.createElement(‘input‘); // create input标签
document.body.appendChild(inp) // 添加到body中
inp.value =that.textContent // 给input设置value属性为需要copy的内容
inp.select(); // 选中
document.execCommand(‘copy‘,false); // copy已经选中的内容
inp.remove(); // 删除掉这个dom
}

<p onclick="copy(this)">hello man</p>

小知识点:

1:select()使用范围;

2:删除一个dom,使用node.remove();

3:调用复制功能使用document.execCommand()方法;

参考链接:

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue"; color: #00a2ff }

https://stackoverflow.com/questions/45071353/javascript-copy-text-string-on-click

原文地址:https://www.cnblogs.com/yadiblogs/p/9892921.html

时间: 2024-07-31 18:59:08

javascript 点击触发复制功能的相关文章

JavaScript点击事件/一个按钮触发另一个按钮

给按钮2添加点击事件click触发按钮1的点击事件,就算给按钮1添加样式display: none;或visibility: hidden;隐藏起来也能触发. <button type="button" id="btn1" onclick="alert('我是按钮1的弹框')" >按钮1</button> <button type="button" id="btn2">按

深入A标签点击触发事件而不跳转的详解

本文介绍下,当点击A标签时,触发事件但不跳转的实现方法,有需要的朋友参考下吧. 点击页面上的空链接,点击后页面自动刷新,并会定位到页面顶端. 不过,有时需要点击#页面但不作跳转,可以这样写: <a href="#2">脚本学堂---网站编程</a> 在#后加上点别的东西即可,这样就不会链到别的页面,也不会刷新定位到顶端了. 附,A标签点击触发事件但不跳转的实现方法. 在a标签中有点击事件:1. a href="javascript:js_method(

JS: javascript 点击事件执行两次js问题 ,解决jquery绑定click事件出现点击一次执行两次问题

javascript 点击事件执行两次js问题 在JQuery中存在unbind()方法,先解绑再添加点击事件,解决方案为: $(".m-layout-setting").unbind('click').click(function(){ //此处填写逻辑代码 }) ------ 因为利用js在页面加载后添加需要点击事件的代码,发现在点击后会代码会执行两次,因为有toggle效果,导致弹窗出现又很快丢失 查了一些资料,发现这是冒泡的原因,需要在点击事件代码中加入阻止冒泡的方法: e.s

CSS伪类选择器active模拟JavaScript点击事件

一.说明 设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式. IE7及更早浏览器只支持a元素的:active,从IE8开始支持其它元素的:active. 另:如果需要给超链接定义:访问前,鼠标悬停,当前被点击,已访问这4种伪类效果,而又没有按照一致的书写顺序,不同的浏览器可能会有不同的表现.超链接的4种状态,需要有特定的书写顺序才能生效.注意,a:hover必须位于a:link和a:visited之后,a:active必须位于a:hover之后.可靠的顺序是:l(link)ov(v

JavaScript点击插入文字

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>石家庄焊丝教你识别焊接螺钉的方法</title> </head> <body> 源码爱好者提示,在这段文字的任意处点击会插入几个规定的字符,不信试试看~ <SCRIPT LANGUAGE="

JavaScript点击按钮显示 确认对话框

//JavaScript点击按钮显示确认对话框 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>My First Script</title> <script type=&q

JavaScript点击按钮显示确认对话框

//JavaScript点击按钮显示确认对话框 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>My First Script</title> <script type=&q

Javascript中点击(click)事件的3种写法

方法一 <!DOCTYPE html> <html> <head> <title>Javascript中点击事件方法一</title> </head> <body> <button id="btn">click</button> <script type="text/javascript"> var btn = document.getElemen

javascript中点击鼠标右键触发的事件

javascript中事件有很多种,这里只谈一个很有用,但不常见的事件. 单击鼠标右键触发的事件contextmenu事件. document.oncontextmenu=function(){ return false; } 这样就可以屏蔽掉鼠标右击的事件.当然如果需要什么效果也可以在事件监听函数中添加.