2013-06-20 19 views

cevap

15

Sen olabilir javascript yapmak için size

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

Eğer orada işlevini renderHead geçersiz kılmak ve ekleyebilir javascript fonksiyonu içinde küçük kapı sayfasından parametreleri gerekiyorsa

: Henüz başka

@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

OnDomReadyHeaderItem.forScript();" response.render" çalışılan - benim için çalışıyor. Teşekkürler! – user1328889

10

Bunu yapmanın yolu, AjaxEventBehavior öğesini aşağıdaki gibi oluşturmak ve sayfanıza eklemektir. "; "() TestAlert() söz konusu belirtildiği gibi

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

Bu benim için çalıştı. Güzel ve basit. Teşekkürler. – user2345093

+1

Bunu bir bileşene ekleyebilir misiniz, yoksa sayfa olmak zorunda mı? Bir bileşene eklenirken yanmıyor ... – Ash

+0

appendJavaScript(), belirtilen işlevi veya JS parçasını ekler. Tekrar tekrar denilen bir Wicket işlevinde kullanıldığında, JS kodu birden çok kez çalıştırılır ve doğrusal olarak artar. – Srikanta

İlgili konular