2

好吧,我有一个这样的命令按钮:

   <p:commandButton value="Novo" id="commandButtonCadastrar" widgetVar="varCommandButtonNovo" oncomplete="varDialogManterEndereco.show()" actionListener="#{enderecoMB.novo}" />

我有一个热键来模拟按钮点击,像这样:

  <p:hotkey bind="alt+n" handler="varCommandButtonNovo.click()" />

但是当我在浏览器中使用“alt+n”时没有任何反应。

4

3 回答 3

4

您可以通过大多数 Primefaces 组件上click的属性访问 jQuery 方法。jq如果您像这样更改代码

<p:hotkey bind="alt+n" handler="varCommandButtonNovo.jq.click()" /> 

它应该工作。

于 2013-11-11T07:03:07.283 回答
0

这个答案不依赖于p:commandButton只需在p:hotkey中复制 AJAX 逻辑:

<p:hotkey bind="alt+n" actionListener="#{enderecoMB.novo}" oncomplete="varDialogManterEndereco.show()" />
于 2015-10-16T22:49:38.870 回答
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 &amp;&amp; event.shiftKey &amp;&amp; event.keyCode == 112) { 
      remotecommand();
      event.preventDefault(); 
    } 
</script>
于 2016-01-18T13:09:02.847 回答