在页面元素上调用$container.html(...);
会导致整个页面滚动到底部。我们插入的html不超过$container
大小。如何解决它以及它为什么会发生?
我们发现的'临界点'是我们插入的html中存在id
属性,一旦用_id
替换,就不再发生滚动。在创建元素之后没有任何东西调用(这是一个明显的原因)。
布局相当复杂,仍在使用一个小的repro html。该问题可在所有主流浏览器中重现。
答案 0 :(得分:0)
我有类似的问题,当我在寻找解决方案时,在这里发现了你的问题,但在我的情况下.html()并不是问题所在,它是Visual Studio"浏览器链接& #34;已启用并导致此选项的选项,我在"启动调试"工具栏中的下拉菜单及其固定。
答案 1 :(得分:0)
我刚刚解决了这个问题。
我的问题是我在表单中有一个不是提交的按钮。
例如:
<form><button type="button" onclick="example(this,event)"></button></form>
要解决上述示例的问题,我必须阻止默认和停止传播。所以我的onclick函数有类似的东西:
event.preventDefault();
event.stopPropagation();
这停止了不需要的页面滚动。
只是想分享以防其他人遇到这个问题。