java - 通过两个事件之一调用单个事件监听器?

标签 java jquery ajax jsf primefaces

我正在尝试一个搜索功能,该功能应该通过单击事件或模糊事件(首先调用哪个)来调用bean上的方法。我需要这两个事件,因为每当用户输入内容时,它都应该显示结果,并且如果用户已复制并粘贴到搜索框中,那么它也应该可以工作。由于在第二种情况下没有关键事件,这就是我需要模糊事件的原因。我尝试在它们之间放置分隔符,例如:

<f:ajax event="keyup blur" listener="#{mybean.search}" render="something">

也喜欢

<f:ajax event="keyup,blur" listener="#{mybean.search}" render="something">

没成功

所以现在我使用我的代码作为

<p:inputText value="#{mybean.search}" >
            <f:ajax listener="#{mybean.searchByIdListener}" event="keyup" render="datatable"/>
            <f:ajax listener="#{mybean.searchByIdListener}" event="blur" render="datatable"/>
</p:inputText>

但是这段代码调用了事件监听器两次。如果事件监听器仅被首先发生的这两个事件中的任何一个调用一次,那就太好了。

最佳答案

不确定 primefaces,但在 richfaces 中,您可以利用 ajax 支持并调用多个事件。 否则你可以使用 focus 事件吗?

关于java - 通过两个事件之一调用单个事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14121426/

相关文章:

javascript - 在ajax请求后重新加载div

php - $_POST 返回空

java - SpringBoot将配置存储在BOOT中

javascript - 按图像计数变量显示图像列表

javascript - jquery/ajax 在 onClick 期间不更新函数内变量的奇怪问题

javascript - 图像不透明度不起作用

javascript - 如何使用ajax将javascript变量传递给php

java - 运输计划

java - Netty本地文件 channel 实现

java - 如何使用 mvn deploy :deploy-file command 将 Artifact 部署到 Bintray