JS实现点击内容后将内容复制到粘贴板

 当一段很长,并且包含各种标点符号的文字,要去复制时,就不能双击复制,必须要手动去选择文字,然后才能去复制,非常麻烦。

因此,我们常常看到,有些比较人性化的网站,通常会有对需要复制的文字进行单击、双击即可复制的暖心操作。

如下,是一个input框的单击鼠标左键即可将内容复制到粘贴板的方法供大家参考,有更好的建议欢迎大家留言评论。

实操代码:

<script type="text/javascript">
  /**
  * 监听点击事件
  */
  $(document).on("click", "#randomPW", function() {
    copyForPaste($(this).val());
  });
  /**
  * 实现点击内容后将内容复制到粘贴板方法
  */
  function copyForPaste($val) {
    var input = document.createElement('input'); // 创建input元素
    // 把文字放进input中,供复制
    input.value = $val;
    document.body.appendChild(input); // 向页面底部追加输入框
    // 选中创建的input
    input.select();
    var copy_result = document.execCommand('copy'); // 执行复制命令
    if (copy_result) {
      alert('已复制到粘贴板');
    } else {
      alert('复制失败');
    }
    document.body.removeChild(input); //删除动态创建的节点
  }
</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过以下步骤实现这个功能: 1. 在 HTML 中创建一个 input 元素,设置它的类型为文本,然后将它隐藏起来。 ```html <input type="text" style="display:none;" id="input-box"> ``` 2. 在需要实现双击修改的元素上添加一个双击事件,当用户双击这个元素时,触发该事件。 ```html <div ondblclick="editContent()">双击修改内容</div> ``` 3. 编写 JavaScript 函数 editContent(),该函数将当前元素的内容复制到隐藏的 input 元素中,并将其显示出来供用户编辑。 ```javascript function editContent() { var content = event.target.innerText; var inputBox = document.getElementById("input-box"); inputBox.value = content; inputBox.style.display = "inline"; } ``` 4. 在 input 元素上添加一个失去焦点事件,当用户完成编辑并离开 input 元素时,触发该事件。 ```html <input type="text" style="display:none;" id="input-box" onblur="updateContent()"> ``` 5. 编写 JavaScript 函数 updateContent(),该函数将 input 元素中的内容复制回当前元素中,并隐藏 input 元素。 ```javascript function updateContent() { var content = event.target.value; var target = document.querySelector(":focus"); target.innerText = content; event.target.style.display = "none"; } ``` 这样,当用户双击一个元素时,它将被替换为一个 input 元素,用户可以在其中编辑内容。当用户完成编辑并离开 input 元素时,它将被替换回原始元素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值