js复制功能

 /**
   * 复制字符串到剪贴板的函数
   * @param {String} value 需要被复制的字符串
   * @returns {Boolean} 操作结果
   */
  copy = value => {
    var currentFocus = document.activeElement // 保存当前活动节点

    let input = document.createElement('input') // 创建一个input标签
    document.body.appendChild(input) // 把标签添加给body
    input.style.opacity = 0 //设置input标签设置为透明(不可见)
    input.value = value // 把需要复制的值放到input上

    // 记录当前滚动位置, 因为添加节点并选中的时候回影响页面滚动
    let scrollY = window.scrollY

    input.focus() // input节点获取焦点
    input.setSelectionRange(0, input.value.length) // 选中input框中的所有文字

    var res = document.execCommand('copy', true) // 复制文字并获取结果

    currentFocus.focus() // 之前活动节点获得焦点
    document.body.removeChild(input) // 删除添加的input节点

    // 页面滚动到之前位置
    window.scrollTo(0, scrollY)
    if (res) {                //为true,表示复制成功
       alert("复制成功")
    }
    return res // 返回操作结果
  }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值