【问题标题】:gwt anchor without update history stack没有更新历史堆栈的 gwt 锚
【发布时间】:2012-03-16 21:08:05
【问题描述】:

我有一个页面有很多hrefs链接到页面的任意点,比如当我点击链接<a href="#b">B</a>时我应该去B点。但是当我点击时我不想更新历史堆栈链接,默认情况下将更新为/index.html#B。我可以使用 g:Anchor 代替超链接来避免更新历史堆栈,但是我怎样才能真正转到页面中的 B 点?我的代码如下所示: index.ui.xml

      <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 ??
}

【问题讨论】:

    标签: gwt


    【解决方案1】:

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

    【讨论】:

    • 我试过了,但没用(根本没有滚动):onClickA(ClickEvent e) {Element aElem = container.getElementById("a"); if (aElem != null) { Window.scrollTo(aElem.getAbsoluteLeft(), aElem.getAbsoluteTop();}}
    【解决方案2】:

    您可以做的就是致电:_a.getElement().scrollIntoView();。滚动到锚点,使其至少可见。

    【讨论】:

      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 2011-02-15
        • 2014-03-13
        • 2015-01-15
        • 1970-01-01
        • 1970-01-01
        • 2014-05-25
        • 2018-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多