簡體   English   中英

在Primefaces中將處理程序與p:hotkey和p:commandButton一起使用

[英]Using handler with p:hotkey and p:commandButton in Primefaces

好吧,我有一個像這樣的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”時,什么也沒有發生。

您可以訪問jQuery方法,例如click大多數Primefaces組件上的jq屬性。 如果您這樣更改代碼

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

它應該工作。

這個答案不依賴於p:commandButton 只需在p:hotkey中復制AJAX邏輯即可:

<p:hotkey bind="alt+n" actionListener="#{enderecoMB.novo}" oncomplete="varDialogManterEndereco.show()" />

您可以這樣:

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM