1

当用户关注文本字段时,我正在尝试使用 JavaScript 更新图像。目前有以下 HTML/Wicket 代码:

<div class="input-prepend">
    <span class="add-on">
        <wicket:link>
            <img src="img/username-img-1.png" id="username-img"/>
        </wicket:link>
    </span>
    <input type="text" id="username" placeholder="User Name" wicket:id="username" />
</div>

以及以下 JavaScript 代码:

$(document).ready(function() {  
    $('#username').focus(function() {
        $('#username-img').attr("src","img/username-img-2.png" );
    });
});

显然,这是行不通的,因为 Wicket 有自己的资源引用方式。我想知道我的其他选择。谢谢!

4

1 回答 1

1

我了解到您的webapp文件夹中有图片。所以问题是您需要使用UrlUtils.rewriteToContextRelative.

像这样的东西可能会起作用:

public void renderHead(IHeaderResponse response) {

    StringBuilder script = new StringBuilder();
    script.append("$('#username').focus(function() {");
    script.append("$('#username-img').attr(\"src\",\"");
    script.append(UrlUtils.rewriteToContextRelative("img/logo.png", RequestCycle.get()));
    script.append("\");");
    script.append("});");

    response.render(OnDomReadyHeaderItem.forScript(script.toString()));
}
于 2012-12-21T09:02:38.463 回答