AjaxEventBehavior behavior = new AjaxEventBehavior("keyup"){
@Override
protected void onEvent(AjaxRequestTarget target) {
System.out.println("Hello world!");
}
};
form.add(behavior);
在以前版本的 Wicket 中,我可以这样做:
behavior.setThrottleDelay(Duration.ONE_SECOND);
但从 6.1 版开始,这个机会就被抹杀了。网络上到处都是以前版本的教程,它们都包含 .setThrottleDelay() 方法。
基本上,目标是在该人停止输入表单时调用该行为。目前,每次当密钥启动时,它都会立即调用该行为,这基本上会向服务器端发送垃圾邮件。这就是为什么我想推迟。背景:我目前正在尝试对数据库进行查询并获取与表单输入类似的数据。所有这一切都发生在这个人打字的时候。但是为了将服务器端/SQL 保持在“轰炸范围”之外,需要延迟。
我也对替代品持开放态度。