我想为列表的每个组件运行一小段javascript代码。现在我输出附加到每个组件的行为的;
回调中的代码:
onRenderHead()
这很好用。
但是现在我 ajax-refresh 组件列表(可能在列表中添加或删除组件)。在ajax-refresh之后,如何确保为每个组件调用行为javascript代码?这样做有一种简单的“检票方式”吗?或者我应该在途中调用一些手工制作的方法传递public class MyBehavior extends Behavior {
@Override
public void renderHead(Component component, IHeaderResponse response) {
response.render(OnDomReadyHeaderItem.forScript(
String.format("my_js_callback('%s')", component.getMarkupId())));
}
}
上下文?
答案 0 :(得分:1)
实际上它很简单:在{a} ajax刷新后,OnDomReadyHeaderItem.forScript()
安装的javascript代码称为也。我最初的问题是无关紧要的:没有必要让它发挥作用。
( Wicket真的很摇滚。)
答案 1 :(得分:0)
我建议在列表级别移动javascript代码。列表本身可以为它拥有的每个组件执行所需的javascript。您应该使用附加到列表的AjaxCallListener解决AJAX刷新问题。使用此类,您可以指定在完成ajax请求时要执行的js代码。可以找到更多详细信息here。