Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从jsf/primefaces将文本复制到剪贴板并不总是有效_Jquery_Jsf 2_Primefaces_Zclip - Fatal编程技术网

Jquery 从jsf/primefaces将文本复制到剪贴板并不总是有效

Jquery 从jsf/primefaces将文本复制到剪贴板并不总是有效,jquery,jsf-2,primefaces,zclip,Jquery,Jsf 2,Primefaces,Zclip,上面提到的将文本从jsf/primefaces复制到剪贴板的解决方案可以正常工作,但似乎对我有一些问题,请在下面找到我的代码: <h:outputScript library="default" name="js/jquery-1.9.1.min.js"/> <h:outputScript library="default" name="js/jquery.zclip.min.js"/> <script type="text/javascri

上面提到的将文本从jsf/primefaces复制到剪贴板的解决方案可以正常工作,但似乎对我有一些问题,请在下面找到我的代码:

    <h:outputScript library="default" name="js/jquery-1.9.1.min.js"/>
    <h:outputScript library="default" name="js/jquery.zclip.min.js"/>
    <script type="text/javascript">
    $(document).ready(function(){

    $('a#copy_coupon_code').zclip({
        path:"#{resource['default:js/ZeroClipboard.swf']}",
        copy:$('span#offer_details_form:coupon_code').text()
    });
    });
    </script>                    
<h:outputText id="coupon_code" value="ABCD11" />
<a id="copy_coupon_code" href="#">Copy coupon and redirect</a> 

$(文档).ready(函数(){
$('a#复制(优惠券)代码')。zclip({
路径:“#{resource['default:js/zerociplate.swf']}”,
副本:$('span#优惠(详情)表格:优惠券(代码))。文本()
});
});
以下是代码在浏览器中的外观:


复制到剪贴板不起作用,非常感谢任何帮助….

这是集成JSF和jQuery的一个众所周知的问题,因为JSF使用冒号
字符表示组件的id,冒号
字符是特殊字符(冒号
保留给jQuery选择器)因此,您必须在其前面放置两个反斜杠来逃避:

$('span#offer_details_form\\:coupon_code')
我刚刚测试过,工作正常(下载zClip):


$(文档).ready(函数(){
$(“#copylink”).zclip({
路径:“#{resource['js:ZeroClipboard.swf']}”,
副本:$('#myform\\\:txt1')。text()
});
});
和结果:


能否请您详细说明一下,以2分隔。意思是?在Firefox或浏览器中的开发者工具中打开firebug,检查ID的html标记。您的代码中有一些脚本问题,如@Ravi said,查看firebug以找到它。@Ravi我在这里调试了代码,并用结果更新了问题。让我知道如果你有任何线索…你可以随时为复制到剪贴板的命令按钮?请看这里,我正在使用手机,因此我无法显示更多信息,对此表示抱歉。以下是问题的修复程序,此修复程序由RongNK提供,非常感谢@RongNK
<h:head>
    </h:head>
    <h:body>
        <h:outputScript library="js" name="jquery-1.9.1.min.js"/>
        <h:outputScript library="js" name="jquery.zclip.min.js"/>
        <script type="text/javascript">
            $(document).ready(function(){
                $('#copylink').zclip({
                    path:"#{resource['js:ZeroClipboard.swf']}",
                    copy:$('#myform\\:txt1').text()
                });
            });
        </script>
        <h:form id="myform">
            <p:panel>
                <h:outputText id="txt1" value="Stackoverflow"/>
                <a id="copylink" href="#">Copy Description</a>
            </p:panel>
        </h:form>
    </h:body>