【问题标题】:Cannot programmatically (jQuery/javascript) scroll page to top无法以编程方式(jQuery/javascript)将页面滚动到顶部
【发布时间】:2013-10-15 13:54:14
【问题描述】:

保存相当长的页面后,如果视图模型出现验证错误,我希望焦点返回页面顶部。但它没有。

验证摘要位于视图顶部:

<div class="error" id="validationSummary">
    <div class="row">
        <div class="span6" id="bookmarker"> 
            @Html.ValidationSummary(False)
        </div>
    </div>
</div>

保存函数是通过 AJAX 调用的,然后在 AJAX 函数之后我尝试了多种滚动技术:

 - $("#header").focus();
 - $("#validationSummary").focus();
 - $("body,html,document").scrollTop($("#validationSummary").offset().top);

...等

我在很多页面上都有这个问题,但在一些页面上,我通过将验证摘要嵌套在更多 DIV 标记中来解决它。

无论如何,我在这一点上相当难过,花了太多时间尝试这个和那个......任何帮助/尽管都是天赐之物。

【问题讨论】:

    标签: validation scroll summary


    【解决方案1】:

    首先,您需要将页面的焦点设置为实际正文而不是 DIV。其次,您可以使用一段 javascript 代码导航回顶部。

    ((IJavaScriptExecutor)webapplication).ExecuteScript("window.scrollTo(0, document.body.scrollHeight 0)");
    

    如果您想要更多信息和详细信息,我已经在这里发布了一个类似但更详细的答案,尽管它是针对 c# 的,但您需要编辑的唯一一段代码是您为主体编写 SetFocus 的方式页面:

    Scroll into a Adobe Reader using buttons c#

    希望这对你有用。抱歉,我没有意识到这篇文章是很久以前的了。

    【讨论】:

      猜你喜欢
      • 2018-01-21
      • 2013-09-16
      • 2015-09-09
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 2010-11-11
      相关资源
      最近更新 更多