2010-07-07 18 views
6

Mam aplikacji GWT i chcę, aby przewinąć do góry strony przy użyciu tej metody:Przewijanie do góry strony w gwt aplikacji

public static native void scrollTop() /*-{ 
    $wnd.scroll(0, 0); 
}-*/; 

Metoda jest wywoływana w onClick -metoda obiektu TreeNodeListenerAdapter:

new TreeNodeListenerAdapter() { 
    @Override 
    public void onClick(Node node, EventObject e) { 
    scrollTop(); 
    } 
} 

To nie działa i nie wiem dlaczego. Po umieszczeniu alertu w mojej metodzie:

$wnd.alert("Treenode clicked"); 

Widzę alert, ale strona nie jest przewijana. Czego tu mi brakuje?

+5

I nie wiesz, dlaczego Twój kod nie działa, ale możesz rozważyć użycie statycznej metody GWT Window.scrollTo zamiast swojej natywnej metody (zobacz http://google-web-toolkit.googlecode.com/svn/javadoc/2.0 /com/google/gwt/user/client/Window.html). – aem

+0

Dzięki za informacje, ale to też nie działa. –

+0

Dziwne rzeczy. Po prostu wypróbowałem Window.scrollTo i działało dobrze w IE i FF4b1. Z jaką przeglądarką występują problemy? –

Odpowiedz

14

Jeśli chcesz, aby przewinąć do góry strony po prostu zrobić:

Window.scrollTo (0 ,0); 

Wystarczy mieć pewność, że importujesz poprawny pakiet com.google.gwt.user.client.Window

+0

Właściwie nie mogę już sobie przypomnieć, jakie było rozwiązanie mojego problemu, ale jakoś to rozwiązałem. Ponieważ to powinno normalnie zadziałać, przyjmuję to jako odpowiedź. –

Powiązane problemy