我正在开发一个Wicket应用程序,我已经为DropDownChoice
定义了一个onchange
事件处理程序,我想手动调用该处理程序。有人知道怎么做吗?
代码示例:
DropDownChoice<String> choices = new DropDownChoice<String>(
"choices",
new Model<String>(),
Arrays.asList("First", "Second", "Third");
choices.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
// do stuff
}
});
我知道我可以把onUpdate
的内容拉到它自己的方法中,只是调用那个方法,但我很想知道是否有一种方法直接处理事件。
我知道WicketTester
可以模拟一个组件被点击或改变。也许它的运作方式会起作用?
欢呼,限制
在Wicket 1.5中有一个事件总线用于这种用例。在以前的版本中,您必须模仿这一点。还有其他与此相关的问题。(见这里)
要从JavaScript或Jquery调用它,可以调用
htmlElement.trigger("change");
在Wicket 1.6中调用AjaxFormComponentUpdatingBehavior("onchange")