jQuery复制文本到剪切板笔记

ZeroClipboard

TALK IS CHEAP, SHOW ME THE CODE

// 复制文本内容到剪切板
function copyText(obj) {
  if (!obj) {
    return false;
  }
  var text;
  if (typeof(obj) == 'object') {
    if (obj.nodeType) { // DOM node
      obj = $(obj); // to jQuery object
    }
    try {
      text = obj.text();
      if (!text) { // Maybe <textarea />
        text = obj.val();
      }
    } catch (err) { // as JSON
      text = JSON.stringify(obj);
    }
  } else {
    text = obj;
  }
  //var $temp = $('<input>'); // Line feed is not supported
  var $temp = $('<textarea>');
  $('body').append($temp);
  $temp.val(text).select();
  var res = document.execCommand('copy');
  $temp.remove();
  return res;
}

调用示例:

<textarea id="taCode" rows="8" style="resize: none"></textarea>
<button type="button" class="btn btn-primary" onclick="copyText($('#taCode'))">复制</button>
<button id="btCopy" type="button" class="btn btn-primary">复制</button>

<script type="text/javascript">
$("#btCopy").click(function() {
  //copyText($("#taCode").text());
  copyText($("#taCode").val());
});
</script>

封装为 jQuery 插件

笔者已完成封装并开源,欢迎移步 GitHub / jquery-copy 了解。

参考

关于 document.execCommand('copy'),可以参考在 StackOverflow 上的讨论:
https://stackoverflow.com/questions/22581345/click-button-copy-to-clipboard-using-jquery

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考使用clipboard.js复制页面内容到剪切板前端复制功能的若干 -- document.execComma...
    合肥黑阅读 8,286评论 1 3
  • 前端复制功能的若干 -- document.execCommand() 页面里copy的功能目前copy主流有四种...
    乖乖果效36阅读 26,245评论 1 1
  • 在美元对人民币的汇率为6.20左右开始陆续兑换美金,持有到现在,并且还会继续持有两年,两年后再看! 逻辑判...
    gongying阅读 1,760评论 0 2
  • 我与这位老师相识在一个沉闷的夏日午后,只知道那天傍晚特别的燥热,我在乡下弄堂里寻着风口,搬着小凳倚靠墙角,消磨着饱...
    赛锅阅读 10,286评论 0 0
  • 上午,我在吃饭,吃完了就睡了一会儿,是从13点半睡到14点半。 睡起来写了一个小时的字帖,过了一会儿,也就是19点...
    08小石头王子阅读 1,558评论 0 0

友情链接更多精彩内容