jQuery.html(...)调用导致不需要的页面滚动

时间:2015-03-09 10:13:16

标签: jquery html

在页面元素上调用$container.html(...);会导致整个页面滚动到底部。我们插入的html不超过$container大小。如何解决它以及它为什么会发生?

我们发现的'临界点'是我们插入的html中存在id属性,一旦用_id替换,就不再发生滚动。在创建元素之后没有任何东西调用(这是一个明显的原因)。

布局相当复杂,仍在使用一个小的repro html。该问题可在所有主流浏览器中重现。

2 个答案:

答案 0 :(得分:0)

我有类似的问题,当我在寻找解决方案时,在这里发现了你的问题,但在我的情况下.html()并不是问题所在,它是Visual Studio"浏览器链接& #34;已启用并导致此选项的选项,我在"启动调试"工具栏中的下拉菜单及其固定。

答案 1 :(得分:0)

我刚刚解决了这个问题。

我的问题是我在表单中有一个不是提交的按钮。

例如:

<form><button type="button" onclick="example(this,event)"></button></form>

要解决上述示例的问题,我必须阻止默认和停止传播。所以我的onclick函数有类似的东西:

    event.preventDefault();
    event.stopPropagation();

这停止了不需要的页面滚动。

只是想分享以防其他人遇到这个问题。