好吧,我有一个像这样的commandButton:
<p:commandButton value="Novo" id="commandButtonCadastrar" widgetVar="varCommandButtonNovo" oncomplete="varDialogManterEndereco.show()" actionListener="#{enderecoMB.novo}" />
我有一个热键来模拟按钮点击,如下所示:
<p:hotkey bind="alt+n" handler="varCommandButtonNovo.click()" />
但是当我在浏览器中使用“alt + n”时,没有任何反应。
答案 0 :(得分:4)
您可以在大多数Primefaces组件的click
属性上访问jq
等jQuery方法。如果你改变你的代码
<p:hotkey bind="alt+n" handler="varCommandButtonNovo.jq.click()" />
它应该有用。
答案 1 :(得分:0)
此答案不依赖于 p:commandButton 。只需复制 p:hotkey 中的AJAX逻辑:
<p:hotkey bind="alt+n" actionListener="#{enderecoMB.novo}" oncomplete="varDialogManterEndereco.show()" />
答案 2 :(得分:0)
你可以这样做:
<p:remoteCommand name="remotecommand" process="@this"
action="#{mbname.method()}"
rendered="#{.......}"
update=":messageForm:growl" />
<script type="text/javascript">
//For Ctrl+Shift+F1
$(window).keydown(function(event) {
if(event.ctrlKey && event.shiftKey && event.keyCode == 112) {
remotecommand();
event.preventDefault();
}
</script>