zClip不会在Google Chrome上复制价值

时间:2012-09-03 11:15:45

标签: javascript google-chrome zclip

这是我的代码。

$('a.copy').each(function(){
    var $this = $(this);
    $this.zclip({
        path : 'path/to/ZeroClipboard.swf',
        copy : function(){
            var copyText = $this.prev().val();
            console.debug(copyText);
            return copyText;
       }
    });
 });

点击按钮后,“copyText”正确打印出来(通过console.debug),但似乎没有返回值。

问题似乎是“iButton”插件,当我评论该插件时,zclip工作,但我不知道为什么。有人遇到过这个问题吗?

P.S。 Firefox工作正常

2 个答案:

答案 0 :(得分:1)

这让我难倒了几个小时,我有一个同时使用iButton和ZeroClipboard的项目并且遇到了同样的问题。

问题在于iButton将鼠标事件附加到$('document')会干扰其他mouseup事件。我没有时间寻找iButton组件的完整修复,但在jquery.ibutton.js中搜索以下行Rev:1.0.03

$('document').bind("mouseup.iButton_" + id + " touchend.iButton_" + id, function(e) {

并将其替换为

$container.bind("mouseup.iButton_" + id + " touchend.iButton_" + id, function(e) {

为我解决了这个问题,但可能有更好的解决办法。

答案 1 :(得分:0)

 $(document).ready(function(){    
 $('a.copy').each(function(){
   $this.zclip({
    path : 'path/to/ZeroClipboard.swf',
    copy : function(){
    var copyText=$(this).prev().val();
    console.debug(copyText);
    return copyText ;   
   }
    });
   });
 });

首先确保包含jquery库和zclip js文件