参见英文答案 >
Adding jQuery to PrimeFaces results in Uncaught TypeError over all place1答案我已经在JSF页面的头包含JQuery1.5。在那个页面中有一堆已经编码的Primefaces组件。在我将Jquery.js包含在页面的头部之后,一些原始组件如< p:commandButton>失去其皮肤和< p:fileUpload>变得看起来像正常的JSP< input type =“file”>并完全失去其AJAX功能。
@H_403_5@解决方法
有没有办法使用JQuery安全地连同原始(没有冲突)?
我有与问题中描述的相同的问题。这就是为什么我想出了以下解决方案:
包括内置的jQuery库(目前1.4.1)的包括一个自己的jQuery库导致CSS格式化问题。添加target =“head”属性允许在任何地方指定标记 – 例如。当使用模板时,您并不总是可以访问< head>标签:
- <h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
默认情况下,在冲突模式下包括jQuery库。这意味着$()快捷方式不能使用。为了克服这个问题,请在< script>或< h:outputScript>标签:
- <h:outputScript target="head">
- // Add the $() function
- $ = jQuery;
- // Now you can use it
- $(document).ready(function() {
- ...
- });
- </h:outputScript>
这是我可以挖掘到目前为止,使用primefaces 2.2.1的最佳解决方案。