什么是创建一个按钮,JSF调用JS功能的首选方式?
其实我使用:
<p:button onclick="myJSFunction();" href="#"/>
但我的网址为后缀的锚符号( #
)。
是否有另一种推荐的方法来创建按钮,将不会重新加载/导航到URL,但调用JS功能吗?
什么是创建一个按钮,JSF调用JS功能的首选方式?
其实我使用:
<p:button onclick="myJSFunction();" href="#"/>
但我的网址为后缀的锚符号( #
)。
是否有另一种推荐的方法来创建按钮,将不会重新加载/导航到URL,但调用JS功能吗?
这是因为它实际上是导航到#
。 您需要执行其默认操作,如指定被导航到当前视图,或将URL阻止按钮href
或outcome
。 您可以通过添加达到这个return false;
到的末尾onclick
。
<p:button onclick="myJSFunction(); return false;" />
或者,如果myJSFunction()
实际上返回一个boolean
应该确定按钮应该继续其默认的动作,然后委托给它:
<p:button onclick="return myJSFunction();" />
该<h:button>
以完全相同的方式,它是唯一的标准look'n'feel。
另一种方法是使用<p:commandButton type="button">
它产生一个实<input type="button">
没有任何导航。 这样,您就不需要从返回false onclick
。
<p:commandButton type="button" onclick="myJSFunction()" />
然而,这需要一个<h:form>
(尽管将其置于的任何形式外不破坏任何功能)。 这同样适用于<h:commandButton>