【发布时间】:2015-07-23 09:41:44
【问题描述】:
我已经向similar question 询问了一个表单,但现在需要在用户单击某个链接后滚动到一个锚点 - 来自另一个线程的my solution 不起作用。 :(
final Link link = new StatelessLink("linkId") {
@Overrride
public void onClick() {
doSomething();
add(new Behavior() {
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
response.render(new HeaderItem() {
@Override
public Iterable<?> getRenderTokens() {
return Collections.singletonList("javascript-anchor");
}
@Override
public void render(Response response) {
response.write("<script type=\"text/javascript\">\n");
response.write("window.location.href='#rules';\n");
response.write("</script>\n");
}
});
}
});
setResponsePage(getClass(), getPageParameters());
}
}
这种方法有什么问题以及如何实现所需的滚动到锚点效果?
【问题讨论】:
-
element.scrollIntoView()? -
我认为,核心问题似乎在于我的 JavaScript 不是渲染页面的一部分——而不是在使用表单时。