0
我试图使用类似于this的效果在检票中加载图像。这是目前我在做什么:在Wicket中使用JQuery加载图像
在我的图像组件(包含图像的简单的面板):
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.renderJavaScriptReference(GlobalNames.JQUERY_URL);
response.renderJavaScript("$(document).ready(function(){$(\"img.elementImage\").hide().fadeIn(600);});", null);
}
和HTML:
<?xml version="1.0" encoding="UTF-8"?>
<html
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:panel>
<img class="elementImage" wicket:id="img"/>
</wicket:panel>
</body>
</html>
我想这应该做的它,但我不断收到错误$(“img.elementImage”)为空。我也尝试使用标记id代替javascript中的类,并使用其他方法添加javascript(如renderOnDomReadyJavaScript),但始终出现相同的错误。这是我第一次用Wicket使用JQuery,所以它可能是一些非常简单的东西,但我错过了,有什么想法?
jQuery正确加载?至于jQuery选择器,只需选择'$(“。elementImage”)'。尝试从Firefox或Chrome Webconsole加载页面以使用jQuery选择图像。另请参阅'AjaxLazyLoadPanel':http://www.mkyong.com/wicket/how-do-use-ajaxlazyloadpanel-in-wicket/ - 这可能会解决您的使用情况而不使用jQuery,尽管我还没有使用它。 – 2013-02-19 20:45:09
恶人:id =“img”实际上不会呈现为id =“img”。 Wicket通常在ID的末尾添加一个数字。例如id =“img12”,它在文档的某处,但是它们告诉你从不在选择器中使用wicket:id。 – drobson 2013-02-20 11:50:06