2012-12-19 128 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

    相關問題