2012-03-13 94 views
0

我有一個頁面有很多的hrefs鏈接到頁面的任意點,說我點擊鏈接時<a href="#b">B</a>我應該去B點但是我不想更新歷史堆棧當我點擊鏈接時,默認情況下會鏈接到/index.html#B。我可以使用g:Anchor代替超鏈接來避免更新歷史堆棧,但是我怎樣才能真正進入頁面中的B點?我的代碼看起來是這樣的: index.ui.xmlgwt anchor沒有更新歷史堆棧

 <g:Anchor ui:field="_a">A</g:Anchor> 
     ... 
     <a name="a"></a> 
     <h3>Point A</h3> 
     <a name="b"></a> 
     <h3>Point B</h3> 
     ... 

index.java

@UiField 
Anchor _a; 
@UiHandler("_a") 
void onClickA(ClickEvent e){ 
    //how to goto point A in the page ?? 
} 

回答

0

也許你可以使用Window.scrollTo()方法?

+0

我試過,但它沒有工作(根本不滾動):onClickA(ClickEvent E){元aElem = container.getElementById(「a」); if(aElem!= null){Window.scrollTo(aElem.getAbsoluteLeft(),aElem.getAbsoluteTop();}} – user468587 2012-03-13 22:31:52

0

你可能做的是打電話:_a.getElement().scrollIntoView();。這滾動到錨點,使其至少可見。