js怎么拿到当前div的id并且复制

怎么复制自身id,相当于ctrl+c的效果

<div id="42fac06a9d014fae9137c5451bac0a8d" onclick="copy()"></div>

function copy(){

}
阅读 3.3k
5 个回答

试试copy-to-clipboard这个库呢?

import copyCli from "copy-to-clipboard"
copyCli(text)

另外你这个id不符合规范,不应该由数字开头。

没有直接的方法,浏览器复制功能必须在input或者textarea中才好实现,其他的兼容欠佳;
所以一般的点击复制功能都是先把要复制的内容放到页面里一个隐藏的input中,让后执行下面的代码复制,然后再把input删除;

let input=document.getElementById('input');
val.select();
document.execCommand('Copy');

至于怎么拿id,从事件对象中拿:

document.onclick=function(){console.log(event.target.id)}

clipboard 用库直接搞吧。

基本就是通过 input,然后执行 document.execCommand('copy')

onclick="copy(e)($event)"

copy(e){
    //e.currentTarget 获取的是当前点击的元素
}

可以看下我的这个https://github.com/guokangf/vue-element-utils内部有这个方法,看下如何实现,自己写一个就好了,或者用楼上提供的包也可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题