我的方案:在一个ajax事件中,我将webmarkupContainer
替换为我的一个组件,其中包含一些wicket IBehaviorListener
。
问题是这个替换是由于ajax请求而发生的,并且行为会在dom上列出:
Wicket.Event.add(window, "domready", function(event) {
Wicket.Ajax.get({'u': 'some/url', 'c': 'linkId', 'e':'click'}));
// ... more event registrations and onDomReady scripts
}
我假设在此事件中生成 注册 代码适用于所有明确添加但不适用的组件 我动态添加的任何组件。
如何使用ajax行为调用新容器或更改当前实现以便调用wicket ajax行为?
提前致谢。
答案 0 :(得分:0)
我认为您需要在AjaxRequestTarget中添加一些事件注册代码。
你可以通过调用
来做到这一点 @Override
public void onClick(AjaxRequestTarget target) {
target.add(yourUpdatedComponents);
....
target.appendJavaScript("Your registration code here");
}