iou3344 2021-09-15 00:37 采纳率: 85.2%
浏览 34
已结题

第二段js代码有问题,怎么改呢?并且,改成jquery的方式哈~

【代码段1】是生效的

<p onclick="copyContent(this);" title="点击复制">这是值1~这是值1~这是值1~这是值1~这是值1~这是值1~</p>
<p onclick="copyContent(this);" title="点击复制">这是值2~这是值2~这是值2~这是值2~这是值2~这是值2~</p>
<p onclick="copyContent(this);" title="点击复制">这是值3~这是值3~这是值3~这是值3~这是值3~这是值3~</p>
<p onclick="copyContent(this);" title="点击复制">这是值4~这是值4~这是值4~这是值4~这是值4~这是值4~</p>
<input id="copy_content" type="text" value=""  style="position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;"/>
<script type="text/javascript">
    function copyContent(ElementObj){
        //获取点击的值
        var clickContent = ElementObj.innerText;
        //获取要赋值的input的元素
        var inputElement =  document.getElementById("copy_content");
        //给input框赋值
        inputElement.value = clickContent;
        //选中input框的内容
        inputElement.select();
        // 执行浏览器复制命令
        document.execCommand("Copy");
    }
</script>

【代码段2】是无效的~怎么改为生效的jquery方式呢?

<span onclick="copyContent(this);" value="这是值1~这是值1~这是值1~这是值1~这是值1~这是值1~" class="cur">复制</span>
<span onclick="copyContent(this);" value="这是值2~这是值2~这是值2~这是值2~这是值2~这是值2~" class="cur">复制</span>
<span onclick="copyContent(this);" value="这是值3~这是值3~这是值3~这是值3~这是值3~这是值3~" class="cur">复制</span>
<span onclick="copyContent(this);" value="这是值4~这是值4~这是值4~这是值4~这是值4~这是值4~" class="cur">复制</span>
<input id="copy_content" type="text" value=""  style="position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;"/>
<script type="text/javascript">
    function copyContent(ElementObj){
        //获取点击的值
        var clickContent = ElementObj.value;
        //获取要赋值的input的元素
        var inputElement =  document.getElementById("copy_content");
        //给input框赋值
        inputElement.value = clickContent;
        //选中input框的内容
        inputElement.select();
        // 执行浏览器复制命令
        document.execCommand("Copy");
    }
</script>
  • 写回答

1条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2021-09-15 01:07
    关注

    把这句代码更换一下就好了

            //获取点击的值
            var clickContent = ElementObj.getAttribute("value")
    

    jquery实现方式:

    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script type="text/javascript">
        function copyContent(ElementObj) {
            var oInput = document.createElement('input');
            oInput.value = $(ElementObj).attr("value")
            document.body.appendChild(oInput);
            oInput.select(); // 选择对象
            document.execCommand("Copy"); // 执行浏览器复制命令
            oInput.className = 'oInput';
            oInput.style.display = 'none';
            alert('复制成功')
        }
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月23日
  • 已采纳回答 9月15日
  • 修改了问题 9月15日
  • 创建了问题 9月15日

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号