我在f:ajax
内使用h:inputText
来调用基于输入执行搜索的辅助bean方法,但有一个延迟:
<h:inputText
...>
<f:ajax
delay="500"
event="keyup"
listener="#{cc.attrs.completeMethod}"
onevent="function(data){mx.util.onComplete(data, mx.ezOverlay.handle)}" />
</h:inputText>
现在我想以某种方式不发送每个密钥的请求 - 特别是不是箭头键,我用它来导航下拉列表中的结果。
我知道如何通过将jQuery
事件侦听器绑定到输入,手动检查使用了哪个键并在与PrimeFaces RemoteCommand
的音乐会上设置计时器来处理延迟和调用方法。
我的问题是,是否有办法避免发送某些密钥的Ajax请求,例如SHIFT,CTRL和ARROW键;使用f:ajax
时。或者可能有更好的方法来处理延迟(目标是不将每次按键发送到支持bean - >不是每次按键都搜索数据库。)