【发布时间】:2012-10-16 10:27:46
【问题描述】:
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 保持在“轰炸范围”之外,需要延迟。
我也愿意接受其他选择。
【问题讨论】: