原生js/jQuery实现点击复制文字功能

在这里插入图片描述

  // 方法一:原生js
    // var lis = document.querySelectorAll('li')
    // for (let i = 0; i < lis.length; i++) {
    //     lis[i].onclick = function () {
    //         let str = lis[i].innerHTML; //拿到li标签内的文本
    //         let input = document.createElement("input"); //新建一个input
    //         input.setAttribute("value", str); //给input赋默认值
    //         document.body.appendChild(input); //放入document
    //         input.select(); //选中输入框的文本,目前只有input和textarea支持,注意要复制的标签不能隐藏(display: none;)
    //         document.execCommand("Copy"); //执行document的复制
    //         input.remove(); //用完就扔
    //         //------------------------------------------------------
    //         // 如果需要提示语
    //         let div = document.createElement("div"); //提示语div
    //         div.setAttribute("style",
    //             "position: absolute; top: 50%;left: 50%;transform: translate(-50%, -50%);padding: 12px 25px;background: rgba(0, 0, 0, 0.6); color: #fff;font-size: 14px;"
    //         ); //提示语div的样式
    //         div.innerHTML = "复制成功" //提示语的文字
    //         document.body.appendChild(div); //放入document
    //         setTimeout(() => {
    //             div.remove(); //用完就扔
    //         }, 1000);
    //     }
    // }
    
    //方法二:jQuery

    $(".main").on("click", "li", function () {
        let str = $(this).text(); //拿到li标签内的文本
        let input = `<input type="text" id="temp" value="${str}">`;
        $("body").append(input); //放入document
        $("#temp").select(); //选中输入框的文本,目前只有input和textarea支持,注意要复制的标签不能隐藏(display: none;)
        document.execCommand("Copy"); //执行document的复制
        $("#temp").remove(); //用完就扔
        // 如果需要提示语
        let div =
            `<div id="tip" style="position: absolute; top: 50%;left: 50%;transform: translate(-50%, -50%);padding: 12px 25px;background: rgba(0, 0, 0, 0.6); color: #fff;font-size: 14px;">复制成功</div>`; //提示语div
        $("body").append(div); //放入document
        setTimeout(() => {
            $("#tip").remove(); //用完就扔
        }, 1000);
    })
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值