2013-06-20 42 views

回答

15

你可以擁有的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 + ");") ; 
} 
+0

試圖 「response.render(OnDomReadyHeaderItem.forScript(」 的testAlert(); 「));」 - 爲我工作。謝謝! – user1328889

10

另一個方法是按如下方式創建AjaxEventBehavior並將其添加到頁面中。

AjaxEventBehavior event = new AjaxEventBehavior("onload") { 
    @Override 
    protected void onEvent(final AjaxRequestTarget target) { 
     // do stuff here 
     target.appendJavaScript("alert('onload');"); 
    } 
} 
add(event); 
+0

這對我有用。很好很簡單。謝謝。 – user2345093

+1

你可以將它添加到組件嗎?還是它必須是頁面?在添加到組件時似乎不會觸發... – Ash

+0

appendJavaScript(),追加提到的功能或JS的一部分。當在重複調用的Wicket函數中使用時,JS代碼會多次執行併線性增加。 – Srikanta

相關問題