6

这看起来很简单,但是在页面加载后(在扩展 WebPage 的页面上),我找不到如何从检票口调用 javascript 函数的示例。谁能举例说明如何去做?

4

2 回答 2

20

您可以让 javascript 为您执行此操作

window.onload = function () {
// do stuff here
}

如果您需要 javascript 函数中检票口页面的参数,您可以覆盖 renderHead 并在其中添加函数:

@Override
public void renderHead(IHeaderResponse response)
{
    super.renderHead(response);
    String bar = "something";
    response.render(JavaScriptHeaderItem.forScript("window.onload = function () {var foo='" + bar + "'}"));
    // or
    response.render(OnDomReadyHeaderItem.forScript("functionToCall(" + bar + ");") ;
}
于 2013-06-20T10:35:57.360 回答
13

另一种方法是按如下方式创建 AjaxEventBehavior 并将其添加到您的页面中。

AjaxEventBehavior event = new AjaxEventBehavior("onload") {
    @Override
    protected void onEvent(final AjaxRequestTarget target) {
        // do stuff here
        target.appendJavaScript("alert('onload');");
    }
}
add(event);
于 2013-06-21T20:21:59.057 回答