折影轻梦
文章74
标签43
分类4
只要七行,解决浏览器的文本复制问题

只要七行,解决浏览器的文本复制问题

解决 clipboardData is not defined
兼容 Chrome 和 Firefox

一直想给导航添加一个结果复制到剪切板的功能,但是百度了很久,并没有找到解决方案,各种 jQuery 库也不满足我的需求。

我想要一个直接输入文本,并复制到剪切板的功能。

于是乎我就自己撸了 7 行 JavaScript (基于jQuery)

1
2
3
4
5
6
7
function setCopy(txt) {
    $('body').append('<textarea id="copy" style="height: 0;width: 0;border: 0;opacity:0;">'+txt+'</textarea>');
    $('#copy').select();
    document.execCommand("Copy");
    $('#copy').remove();
    alert("复制成功!");
}

使用时只需要调用 setCopy() 就行了

(!该调用方式!不适用于 Firefox)比如直接在 <a> 中使用

1
href="JavaScript:setCopy('1533384805');">

(该调用方式适用于 Firefox)更介意使用

1
onclick="setCopy('1533387161');"

本文作者:折影轻梦
本文链接:https://nexmoe.com/1173.html
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可