日期:2014-05-16  浏览次数:20467 次

zClip (ZeroClipboard)问题求助

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.zclip.js"></script>
<script type="text/javascript"><!--
$(document).ready(function(){
    $('a#copy1').zclip({
    path:'js/ZeroClipboard.swf',
    copy:$('p#becopied1').text()
    });
     
    });
    //-->
</script>

<a id="copy1">点击复制</a>
<p id="becopied1">被复制内容1</p>

以上用zClip (ZeroClipboard),jquery+ZeroClipboard+swf的一个点击复制,兼容各浏览器的。
现在问题是我想实现N个点击复制,
<a id="copy2">点击复制</a>
<p id="becopied2">被复制内容2</p>
<a id="copy3">点击复制</a>
<p id="becopied3">被复制内容3</p>
……
n个点击复制事件,需要怎么写呢?我用自定义函数做出来要点击两下才能复制成功。
特此求助!
jQuery zClip ZeroClipboard

------解决方案--------------------


$(document).ready(function(){
    var copyButton = 'copy';
    var textInput = 'becopied';
    $('.copy').each(function(){//给每个a标签加上copy样式
        var thisId = this.id.replace(copyButton,'');
        $(this).zclip({
            path:'js/ZeroClipboard.swf',
            copy:$('p#becopied'+thisId).text()
        })
    })
});


感觉copy参数是可以配成函数的,但是不知道到底可不可以,就用这个笨方法吧。。

------解决方案--------------------
引用:
JavaScript code?1234567891011$(document).ready(function(){    var copyButton = 'copy';    var textInput = 'becopied';    $('.copy').each(function(){//给每个a标签加上copy样式        var thisId = this.id.replace……


是可以。。

<script>
    $(function () {
        $('a[rel]').zclip({ copy: function () { return $(this.getAttribute('rel')).html(); } });
    });
</script>
<body>
<a rel="#p1">拷贝1</a>
<p id="p1">拷贝内容1拷贝内容1拷贝内容1</p>
<a rel="#p2">拷贝2</a>
<p id="p2">拷贝内容2<br />拷贝内容2</p>
<a rel="#p3">拷贝3</a>
<p id="p3">拷贝内容3<br />拷贝内容3</p>