灵巧还是笨重?利用Textarea从浏览器复制字符到剪贴板

    想要从浏览器复制字符到剪贴板,网上有很多方法,其中有使用flash的ZeroClipboard,也有window.clipboardData(适用于IE)。

    或者利用Textarea的select方法和document.execCommand("Copy")来进行复制,但是这样只能复制Textarea的value属性的内容。想要复制其它内容,可以先将Textarea的value属性设置为想要复制的内容,再重复上述的步骤。

    为了不让Textarea影响网页视觉效果,可以设置其CSS的opacity为0,不能设置display:none或visibility:hidden,这样会使上述的操作无效。

这里编写了实现上述功能的一个jQuery插件:

;(function($)
{
    var clipboardDummy=$("<textarea id=\"clipboardDummy\" style=\"position: absolute;width:0;height:0;opacity: 0;\"></textarea>");
    $(function()
    {
        $("body").append(clipboardDummy);
    });

    $.fn.extend(
    {
        /**
         * @name 复制到剪贴板
         * @description 将元素value或innerHTML值复制到剪贴板,value优先。
         */
        "copyToClipboard":function()
        {
            if(this.val())
                clipboardDummy.val(this.val());
            else if(this.html())
                clipboardDummy.val(this.html());
            clipboardDummy[0].select();
            document.execCommand("Copy");

            return this;
        }
    });
})(jQuery);

源码:https://git.oschina.net/skywingjiang/clipboard.git

转载于:https://my.oschina.net/skywingjiang/blog/918461

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值