html input粘贴功能,原生js实现复制粘贴功能

点击按钮实现复制功能

copyText: function(message) {

var input = document.createElement("input");

input.value = message;

document.body.appendChild(input);

input.select();

input.setSelectionRange(0, input.value.length);

document.execCommand('Copy');

document.body.removeChild(input);

}

关键的方法是 select, setSelectionRange, execCommand

select是获取焦点, document.execCommand('Copy'),execCommand命令是操纵可编辑区域的元素,参数为copy是执行选中区域的复制, ,好像这两个加起来也能达到我们想要的效果。事实上,安卓机和pc上确实没问题的,但是苹果机上却不兼容。

这时候关键的setSelectionRange开始表演了。

HTMLInputElement.setSelectionRange()方法用来设置元素当前选中的文本的开始和结束位置。记住一定是input,我用textarea也没问题。input.setSelectionRange(0, input.value.length)表示从input的第0到结尾的进行选中。

所以上面的函数连起来就是:创建一个input框,把文字赋值为input, input获取焦点,选中input中的文字,对文字进行复制,复制完成后删除input.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值