我正在使用omnifaces .progress {
border:solid yellow;
border-radius: 30px;
}
.progress-bar{
background-color: yellow;
}
来滚动加载ajax数据。目前这个片段工作正常,但我想知道,如果可以从外部js文件引用一个函数名,以避免在xhtml文件中定义所有这些脚本:
products.xhtml:
<o:commandScript>-tag
我正在寻找......:
products.xhtml:
<o:commandScript name="loadNext" actionListener="#{productBean.loadNext}" render="products"/>
<script type="text/javascript">
$('.scrollSpy').on('inview.uk.scrollspy', function() { //UIKit scrollspy listener
loadNext();
});
</script>
<h:panelGroup id="products">
<div class="box scrollSpy">
...
</div>
</h:panelGroup>
generic.js:
<o:commandScript name="GENERIC.loadNext"
actionListener="#{productBean.loadNext}"/>
但是我得到了
var GENERIC = (function () {
var my = {};
my.loadNext = function (){} //empty
my.productsLoaded = function (){
//doSomething
}
$(document).ready(function(){
$('.scrollSpy').on('inview.uk.scrollspy', function() {
my.loadNext();
});
});
return my;
})()
虽然来自generic.js的一般调用工作正常,例如
[o:commandScript 'name' attribute 'GENERIC.loadNext' does not represent a valid script function name.]
提前感谢您的建议。
答案 0 :(得分:2)
从一开始就没有考虑过这个要求。根据{{3}},我已将其修复为当前的2.3 SNAPSHOT。
<o:commandScript>
issue 218认为(正确放置)句点无效,并且当名称中存在句号时,省略显式var
声明。