iou3344 2021-09-15 00:37 采纳率: 84.1%
浏览 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 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里