我正在测试将javascript附加到我的wicket组件,它似乎工作正常。但是当我把它作为一个jquery函数时,它不起作用。
其他jquery函数正常工作,我有库。我想在添加到页面时为每个组件添加脚本。
ExternalLink taricLink = new ExternalLink(
"tariclink",
"http://ec.europa.eu/taxation_customs/dds2/taric/taric_consultation.jsp?Lang=en");
final String tar = "taricLink" + Integer.toString(taricNum);
taricLink.setOutputMarkupId(true).setMarkupId(
"taricLink" + Integer.toString(taricNum));
通过阅读文章,这就是我找到的方式:
taricLink.add(new AbstractAjaxBehavior() {
@Override
public void renderHead(IHeaderResponse response) {
String js = "$(#" + tar + ").click(function(){"
+ "alert(\"hello\")" + "});";
response.renderOnDomReadyJavascript(js);
}
public void onRequest() {
}
});
add(taricLink);
在html中:
<a href="#" wicket:id="tariclink" target='_blank'>TARIC</a>
答案 0 :(得分:1)
如果您想在点击链接时发生某些事情,那么您需要使用AjaxEventBehavior
这样的内容:
private ExternalLink taricLink() {
final String url = "http://ec.europa.eu/taxation_customs/dds2/taric/taric_consultation.jsp?Lang=en";
ExternalLink el = new ExternalLink("taricLink", url);
el.add(new AjaxEventBehavior("click") {
@Override
protected void onEvent(AjaxRequestTarget art) {
art.appendJavaScript("alert('clicked')");
}
});
return el;
}
如果需要,您可以在appendJavaScript
函数中执行一些jQuery。