jsf - p :keyboard ajax events

标签 jsf primefaces

我正在使用 PrimeFaces。在这个键盘上,想使用一个 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

最佳答案

您可以使用 p:keyboard 属性来实现:

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

    关于jsf - p :keyboard ajax events,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46042957/

    相关文章:

    css - primefaces 切换(命令)按钮

    primefaces - p :textEditor <br> line separator instead of <p>

    javascript - 使用 primefaces 访问 Jquery UI

    jsf - 将 JSTL 与 Facelets 集成

    java - ValueChangeEvent.getNewValue() 未从 JSF 2 中的下拉列表中返回正确的字符串值

    java - jQuery 选项列表

    java - Primefaces p :datatable adding and editing rows not working

    css - primefaces 数据表宽度渲染不好

    jsf - "Unable to save dynamic action with clientId ' j_idX' 的警告因为找不到 UIComponent"发生,使用 CombinedResourceHandler

    java - 使用 Glassfish 3.1.2 和 JAAS 登录 JSF 2.0