javascript - 如何在 PrimeFaces 中使用 jQuery 和 jQuery 插件

标签 javascript jquery css jsf primefaces

我有一个 PrimeFaces 网络应用程序。当我像下面这样手动添加 jQuery 和插件时,

<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/onebyone/jquery.onebyone.js"></script>              
<script type="text/javascript" src="js/onebyone/jquery.touchwipe.min.js"></script> 
<script type="text/javascript" src="js/jquery.carouFredSel-5.5.0.js"></script>

然后 PrimeFaces 组件失去了它们的功能和一些样式。例如,<p:dialog>不要出现,<p:accordionPanel>不滑动,<p:panelGrid>丢失填充等。

这是怎么引起的,我该如何解决?

最佳答案

PrimeFaces 已经捆绑了 jQuery,但您已经下载并安装了另一个只会与 PrimeFaces 捆绑的 jQuery 冲突的工具。我敢肯定,如果您对网络浏览器的内置 JavaScript 控制台给予更多关注和喜爱,您就会看到 JS 错误。而且,如果您通过右键单击检查 JSF 生成的 HTML 输出,在网络浏览器中查看源代码,您会看到另一个 jquery.js文件包含在 HTML 中 <head> .

您需要删除以下行:

<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>

如果您的页面不一定使用 PrimeFaces 组件,因此不会自动包含其 jQuery,那么您需要通过适当的 <h:outputScript> 显式加载其捆绑的 jQuery。 .

<h:outputScript library="primefaces" name="jquery/jquery.js" />

请注意,使用 <h:outputScript>最终不会出现在实际使用 PrimeFaces 组件的页面上的重复脚本中。

另见:

关于javascript - 如何在 PrimeFaces 中使用 jQuery 和 jQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11112058/

相关文章:

javascript - 迭代游标和更新文档时,连接因应用程序错误而关闭

javascript - Javascript 中是否可以为匿名调用函数提供参数计数?

javascript - 想要为所有元素添加带复选框的下拉菜单(即多选下拉菜单)

jquery - 将生成的 HTML 存储在变量中

javascript - 单击 javascript 按钮显示/隐藏 Div 元素

javascript - 如何使下一个/上一个段落在 div 中可见?

c# - AJAX IRCX 客户端和服务器

css - 两个 div 彼此重叠,每个 div 占据浏览器屏幕的全部高度(和宽度)

html - 容器底部的额外空间

javascript - CSS :hover effect on current and previous elements