2017-09-04 99 views
4

我正在使用PrimeFaces。在這個鍵盤上,想要使用一個ajax事件,點擊某個鍵後每觸發一次。p:鍵盤ajax事件

下面是代碼:

<p:keyboard placeholder="Search" value="#{menu.searchValue}" layout="qwertyBasic"> 
    <p:ajax event="click" listener="#{menu.search()}" update=":form:menuItems"/> 
</p:keyboard> 

,當我在場上點擊它的自我,而不是當我點擊鍵盤上的按鍵這隻作品。

我在JSF 2.2

+0

不知道,你檢查組件的JavaScript源?它**是**開放... – Kukeltje

回答

2

可以實現與號碼:鍵盤屬性:

  • 的onkeyup
  • onkeypress事件
  • 的onkeydown

例如:

<p:remoteCommand name="RC_name" 
       actionListener="#{TestBean.function}" /> 

<p:keyboard placeholder="Search" 
      value="#{menu.searchValue}" 
      layout="qwertyBasic" 
      onkeyup="RC_name()" > 
    <p:ajax event="click" 
      listener="#{menu.search()}" 
      update=":form:menuItems"/> 
</p:keyboard> 

或者,如果你想捕獲特定的鍵(例如ENTER點擊):

<p:keyboard value="#{menu.searchValue}" 
      onkeyup="if(event.keyCode == 13){ 
          RC_name(); 
          return false; 
        }" > 
</p:keyboard> 
+0

這工作得很好。非常感謝@JokerTheFourth – aiden

+0

不客氣:)你可以標記答案解決問題。 – JokerTheFourth