jQuery不在<li> </li>之间工作

时间:2012-12-19 10:20:01

标签: jquery zclip

我写了一个简单的脚本,使用zClip库http://www.steamdev.com/zclip/将文本复制到剪贴板。

<ul>
 <!-- Iterates trough a list of items -->
  <li>

    <script type="text/javascript">
        $(document).ready(function($){
            $('#cpbtn${id}').zclip({
                path:'resources/zclip/ZeroClipboard.swf',
                copy:function(){return $('#cptext${id}').val();}
            });
        });
    </script>

    <input type="hidden" value="userfiles/images/${imageName}" id="cptext${id}"/>
    <a class="btn btn-primary cpbtn" id="cpbtn${id}">Copy URL</a>

  </li>
 <!-- End of iterator -->
</ul>

但它在<ul><li></li></ul>代码之间无法正常工作,如果我删除了<ul><li></li></ul>,它就可以了。我把它放在标签之间,因为它通过一个项目列表进行迭代,我试图将zClip方法放在<ul><li></li></ul>之外,但我不知道如何触发.zclip();方法。怎么了?哪里搞砸了?

2 个答案:

答案 0 :(得分:1)

试试这个:

$('ul li').find('a').each(function() {
    // cache jquery var
    var current = $(this);

    current.zclip({
        path: 'resources/zclip/ZeroClipboard.swf',
        copy: function() {
            return current.prev().val();
        }
    });
});​

将此zClip方法放在<ul><li></li></ul>之外,仅调用一次。

答案 1 :(得分:0)

zClip生成元素的位置存在问题。

我已将<a class="btn btn-primary cpbtn" id="cpbtn${id}">Copy URL</a>放入<div style="position: relative;"></div>,现在正在使用。