Luego de mucho batallar pudimos hallar el arreglo de este asunto que agunos usuarios de nuestro sitio tienen. Si deseas aportar algún dato puedes compartir tu comentario.
Solución:
Si usa Primefaces 5.x, hay un delay
attribute en el p:ajax
etiqueta para este propósito. Así que se hace así:
Si no, podrías lograrlo usando f:ajax
en vez de p:ajax
(sí, funciona con p:inputText
también). f:ajax
ha agregado soporte para el control de colas a partir de JSF 2.2. Entonces el código se ve así:
Ver también:
- Primefaces 5.0
p:ajax
javadoc - JSF 2.2 documentos para
f:ajax
¿Por qué no usas el componente RemoteCommand de PrimeFaces?
Le brinda una función Javascript global, a la que puede llamar desde cualquier lugar cuando lo desee. Y le permite llamar al método de bean administrado y tiene el update
attribute para actualización parcial.
Registre el controlador de eventos, tomé prestado lo siguiente de la misma respuesta que publicó:
var delay = (function()
var timer = 0;
return function(callback, ms)
clearTimeout (timer);
timer = setTimeout(callback, ms);
;
)();
jQuery("#input").keyup(function()
delay(function() sendAjaxical(); , 2000); //sendAjaxical is the name of remote-command
);