从jsf / primefaces将文本复制到剪贴板

时间:2012-09-07 14:50:07

标签: javascript jsf jsf-2 clipboard zeroclipboard

我正在使用https://github.com/patricklodder/jquery-zclip来实现复制到剪贴板功能。 它应该复制一些文字,但是现在我希望它真的是......但它根本不起作用。

我包括在头部:

<h:outputScript name="js/jquery.zclip.min.js" library="test" />

        <script>
            $(document).ready(function(){
                $('a#copy').zclip({
                    path:'#{resource['/test/js/ZeroClipboard.swf']}',
                    copy:$('div#content').text()
                });
            });                
        </script>

在JSF页面中我有一个普通的:

<a href="#" id="copy">COPY</a> 

Chrome控制台中没有错误,但点击该链接也没有做任何事情。 我真的不知道为什么它不起作用。非常感谢任何建议。

----------编辑

datagrid:

<p:dataGrid var="item" columns="3" rows="9" value="#{pictureManagementBean.pictures}" id="gallery" paginator="true">  

<p:column>
    <p:panel header="#{item.pictureName}" style="text-align:center; width:230px;">  
         <h:panelGrid styleClass="shortLink"> 
             <p:graphicImage value="#{item.thumbnailDir}" width="200px" />                             
             <a href="#" id="copy#{item.idpicture}">COPY</a>   
             <p id="copy#{item.idpicture}">LOREM IPSUM</p>
             <p:commandLink value="Delete" action="#pictureManagementBean.removePicture(item.idpicture)}" update="@form"/>

</h:panelGrid></p:panel></p:column></p:dataGrid> 

1 个答案:

答案 0 :(得分:3)

这对我有用:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
   <h:head>
   </h:head>
   <h:body>
         <h:outputScript library="default" name="js/jquery-1.8.1.min.js"/>
         <h:outputScript library="default" name="js/jquery.zclip.min.js"/>
         <script type="text/javascript">
         $(document).ready(function(){

                $('a#copy-description').zclip({
                    path:"#{resource['default:js/ZeroClipboard.swf']}",
                    copy:$('p#description').text()
                });
         });
         </script>
         <a id="copy-description" href="#">Copy Description</a>
         <p id="description">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque volutpat venenatis erat 
            eu convallis. Phasellus ut purus dui, in tristique ligula. Fusce a sodales ipsum.
            Proin et commodo lacus. Morbi eget lectus ante, sed interdum orci.
            Nunc rutrum, enim in mattis bibendum, sapien ligula semper nisi, sed ullamcorper justo sem quis felis.
            Duis vehicula arcu non felis convallis eleifend.
         </p>
   </h:body>
</html>

文件夹结构如下:

-->resources/default/js/jquery.zclip.min.js
-->resources/default/js/ZeroClipboard.swf