我有显示图像的wicket代码:
<div class="someclass">
<img wicket:id="some-image"/>
</div>
这很有效。
我要求sais,这个图像可能被包裹在链接中,并且该链接也需要从检票口生成。
所以我想以最好的方式实现这个,而不必像这样添加BOTH部分:
<a wicket:id="link-for-image">
<div class="someclass">
<img wicket:id="some-image-with-link"/>
</div>
</a>
<div class="someclass">
<img wicket:id="some-image"/>
</div>
并隐藏其中一个。
很好地实现这个的标准方法是什么?
有没有办法为&#34; link-for-image&#34;定义某种通用类型?所以我可以创建它作为web标记容器而不是链接?
感谢!!!
答案 0 :(得分:2)
Border
<a>
,但隐藏href
属性。 PS:由于HTML标准,<div>
内不允许<a>
。
答案 1 :(得分:1)
如果Ajax是一个选项,您可以添加onclick行为:
Image img = new Image("id", yourResource);
img.add(new AjaxEventBehavior("onclick") {
@Override
protected void onEvent(AjaxRequestTarget target) {
// Your click magic
}
});
add(img);
答案 2 :(得分:1)
首先,&#34;禁用链接&#34; AbstractLink的功能可能就足够了。 Link,BookmarkablePageLink等扩展了AbstractLink。
如果没有,您可以使用Link的子类(或BookmarkablePageLink,或其他)。然后覆盖onComponentTagBody(),如果&#34;链接&#34;不应该是一个链接,不要添加一个href并将其变成一个或。这个解决方案假定这样一个&#34;包装&#34;元素不会搞砸你的CSS或脚本。如果您的标记设置被设置为剥离此类标记,您可能可以将其转换为检票口:容器并将其剥离。