2012-12-19 26 views
0

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

<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();方法。哪里不对?我在哪里搞砸了?

+0

http://stackoverflow.com/questions/10502067/javascript-doesnt-work-with-li-tag的副本。 jsfiddle中有一个jQuery解决方案。 - http://jsfiddle.net/SvufY/1/ –

+0

对不起,但它不是关于如何添加更多'

  • ',这是关于zClip,以及如何触发它。 – Denees

    回答

    0

    zClip生成元素的位置有问题。

    我已将<a class="btn btn-primary cpbtn" id="cpbtn${id}">Copy URL</a>置于<div style="position: relative;"></div>之中,现在它正在工作。

    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>一次只能调用它。

    +0

    我这样做,但它没有进入方法zclip(); ;,只在foreach,我想只有在点击某物,按钮,链接或其他东西时触发.zclip(),但不是一个简单的调用到它 – Denees

    相关问题