单击触发 Twitter Bootstrap 模式弹出的链接会导致浏览器向上滚动页面。此行为仅在 Chrome 中发生。
这是一个演示页面:
http://www.turizmburosu.com/test2.aspx
页面有 600 行链接,导致页面正文超出窗口高度。如果单击这些链接中的任何一个,它将显示模式对话框。在 Chrome 中,单击初始视图下方的任何链接都会导致背景页面向上滚动(并不总是完全滚动到顶部)。
我使用以下函数来触发模态的显示:
function test(id, imp) {
$("#modalLabel").html("Header");
$("#modalBody").html("Body");
$("#myModal").modal("show");
}
链接的形式为:
<a href="" onclick="test();return false;">Test Link ###</a>
我在Chrome 22.0.1229.94 m中看到了这种行为。
关于为什么会发生这种情况以及如何防止它的任何建议/想法?
附加示例
这可以在 Modal 插件的 Twitter Bootstrap 文档页面上重新创建。
进入页面后,只需覆盖现有的 data-api 即可改用 JavaScript api:
$('#modals a[data-toggle="modal"]').on('click',
function(e) {
$('#myModal').modal('toggle');
return false
});
现在,如果单击Launch Demo Modal按钮,则在显示模式时页面将向上滚动。
同样,这是使用 Chrome。