0

这是剪辑复制的更新代码

 <script src="jquery-1.8.0.min.js" type="text/javascript"></script>
 <script type="text/javascript" src="http://www.steamdev.com/zclip/js/jquery.zclip.min.js"></script>

在正文部分:

  <div>
    <input type="text" id="txtEmbedLink" />
    <button id="btnCopyClipboard">
        copy</button>
</div>
<script type="text/javascript">
    $(document).ready(function () {
        $('#btnCopyClipboard').zclip({
            path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf',
            copy: $('#txtEmbedLink').val(),
            beforeCopy: function () {
                alert('before copy');
            },
            copy: function () {
                alert('copy');
                return $('#txtEmbedLink').val();
                            },
            afterCopy: function () {
                alert('after copy');
            }
        });
    });

问题是当我点击按钮时,就在复制正确运行之前,复制之后什么都没有,(猜测问题是复制功能:复制中的警报命令正确运行)

4

2 回答 2

1

我已经为您找到了解决方案,修改您的代码,因为 jsfiddle 与本地代码不同

附有 jsfiddle http://jsfiddle.net/sxeCM/101/

主要问题是网络中已经提到的动态值,并将其放入 dom 就绪而不是按钮单击

$(document).ready(function () {
    $('#btnCopyClipboard').zclip({
        path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf', //this remain as the one you had
        copy:function(){return $('#txtEmbedLink').val();} //change this to be the clientid
    });
});

更新的答案:

检查这个http://jsfiddle.net/sxeCM/102/

  $(document).ready(function () {
        $('#btnCopyClipboard').zclip({
            path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf',
            copy:function(){return $('#txtEmbedLink').val();},
            beforeCopy: function () {
              console.log("test");
            },
            afterCopy: function () {
                alert('after copy');
            }
        });
    });

正如在这个 jsfiddle 中测试的那样,我发现 beforecopy 中的警报最终导致 zclip 没有复制文本输入的未知故障,而不是使用警报,我将其更改为 console.log,这表明复制工作,所以如果你想测试,为什么不console.log("before copy")?顺便替换你的警报,路径应该保持你原来的路径,不要使用示例路径

于 2014-08-29T02:27:55.243 回答
0

不知道你解决了没有,找了很久,希望对你也有用。

我的问题是我的附加元素还没有准备好。所以函数“ is(:visible) ”总是“ false ”,宽度offsetWidth总是0。你可以尝试为zclip attach.like添加setTimeout

setTimeout(function(){
    $('attchElement').zclip({
        path: 'ZeroClipboard.swf',
        copy: $('textarea').val()
    });
},500);
于 2015-06-01T07:28:45.923 回答