JQuery对话框自动滚动到底部

时间:2013-09-26 20:43:46

标签: jquery jquery-ui jquery-ui-dialog

我有一个对话框“弹出”框,可以加载图片和信息,每当我启动框时,页面会自动滚动到底部,不会让我向上滚动直到所有信息都加载完毕。我不知道为什么会这样做。有什么想法吗?

$( "#dialog-view" ).dialog({
        resizable: false,
        width:'auto',
        fluid: true,
        modal: true,
        autoOpen: false,

        buttons: 
            {
    "Done": function() 
    {
      $("#dialog-view").dialog("close");
    }
  }
});  

3 个答案:

答案 0 :(得分:5)

我有类似的问题,这让我发疯了!我正在寻找一个#的锚点,并且还在搜索javascript操作,强制它滚动到窗口底部。

事实证明,我加载的AJAX代码底部有一个锚点(指向我网站的链接)。 Web浏览器呈现代码,使其转到页面上唯一的锚点。

为了消除这种情况,我在锚点添加了一个负的tabindex:

<a href="http://www.keppiehed.com" tabindex="-1">Keppiehed.com</a>

根据How to ignore HTML element from tabindex?的第一个答案,W3C HTML5规范支持负tabindex值。

我知道这篇文章有点老了,但我希望它可以帮助你和其他人很难诊断这个问题!

答案 1 :(得分:0)

您的对话框可能定位错误,请使用Position for API或者为我设置距离顶部距离的解决方案:

$("#dialog").dialog({ position: [($(window).width() / 2) - (dialogWidth / 2), 150] });
$("#dialog").dialog("open");

答案 2 :(得分:0)

如果您不想根据上面的@Sablefoste答案将tabindex属性添加到所有a标签,

$('#my-dialog-id').find('a').attr('tabindex',-1);