我想使用 ( Primefaces with TwitterBootstrap )。目前 DropDown 菜单不起作用,例如p:dataTable
存在。我发现,如果我在 h:head
中有以下顺序,它就可以工作(没有任何 Primefaces 组件):
<h:head>
<h:outputScript library="js" name="bootstrap.js"/>
<h:outputScript library="primefaces" name="jquery/jquery.js"/>
...
</h:head>
如果我交换顺序(首先是 jquery.js,而不是 bootstrap.js),DropDown 菜单就会损坏。我的问题是,随着在呈现的 HTML 输出中使用 PrimeFaces 组件,PrimeFaces(jquery.js 和 primefaces.js)使用的脚本总是在 h:head
中手动输入之前。
<script src="/javax.faces.resource/jquery/jquery.js.jsf?ln=primefaces"></script>
<script src="/javax.faces.resource/primefaces.js.jsf?ln=primefaces"></script>
<script src="/javax.faces.resource/bootstrap.js.jsf?ln=js"></script>
如何在 jquery.js
之前导入 bootstrap.js
?
最佳答案
如果问题与资源的包含顺序有关,您应该查看 PrimeFaces 团队的以下博文:Customizable Resource Ordering .
您可以在 h:head
元素中定义一个 first
方面。放置在那里的元素将在 PrimeFaces 资源之前加载。
<h:head>
<f:facet name="first">
<h:outputScript library="js" name="bootstrap.js"/>
</f:facet>
</h:head>
关于javascript - JSF h :outputScript ordering and PrimeFaces jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10207011/