execCommand(“copy“)只能复制一次?

今天要复制一个表格列,document.execCommand("copy")一下子就好了。

然后,当我要复制下一列的时候,悲剧发生了。

值根本就没变,于是我又找到了万能的百度。最后代码如下:

html结构:

<table>
    <thead>
        <tr>
            <th>案件编号</th>
            <th>案件名称</th>
        </tr>
    </thead>
    <tbody>
        <tr ids="6502131621308097000" zpname=" null">
            <td>
                <div class="ajNumBox"><span class="ajNum" title="6502131621308096321">096321...<i
                            class="copyBox"><em>6502131621308096321</em><em class="copyBtn">复制</em></i></span>
                </div>
            </td>
            <td>null</td>
        </tr>
        <tr ids="6502311619058642000" zpname=" 京东商城测试9098-0422测试9098-0422">
            <td>
                <div class="ajNumBox"><span class="ajNum" title="6502311619058641771">641771...<i
                            class="copyBox"><em>6502311619058641771</em><em class="copyBtn">复制</em></i></span>
                </div>
            </td>
            <td><span title="京东商城测试9098-0422测试9098-0422">京东商城测试9098-0422...</span></td>
        </tr>
    </tbody>
</table>

js代码

// 点击复制
$(".copyBtn").click(function (e) {
    // 获取兄弟节点
    var brother = e.target.previousElementSibling.firstChild;
    // 创建range对象
    var range = document.createRange();
    range.selectNodeContents(brother);
    // 移除选中的元素
    window.getSelection().removeAllRanges();
    // 添加选中元素
    window.getSelection().addRange(range);
    // 复制
    document.execCommand("copy");
});

最后,感谢一下网友贡献的方法,真的很好使。

主要参考网址:https://blog.csdn.net/qq_24909089/article/details/109305238

https://www.w3school.com.cn/xmldom/dom_range.asp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值