我正在开发一个HTML5应用程序框架,由SAP JEE应用程序服务器运行,为公司及其内部网和外部网站构建。它基于网格框架" Semantic UI"除此之外还包含很多(也是第三方)Javascript。
我目前正在检查一个错误,当页面向下滚动时,单击菜单中的特定图标会使页面以某种方式再次向上滚动。
由于存在大量的Javascript,我目前正在努力寻找JS代码片段,这导致了这种奇怪的行为。
我已经阅读了this post here,并了解了Firebug中的事件记录并检查了Chrome中的事件处理程序,但这对我没有帮助。
我发现使用
$(<my Elem>).on('click', function(event){
event.preventDefault();
})
我可以阻止滚动,但我仍然没有发现它的原因。
有没有人就如何找到真正的原因提出更多建议?
答案 0 :(得分:1)
此行为可能由多种原因引起。其中一个经常被忽视的是像<a href="#">Some JavaScript Handler</a>
这样的链接。
当JavaScript处理程序未正确处理事件时(例如,通过调用event.preventDefault()
,除了JavaScript处理程序之外,还将遵循HTML链接。大多数浏览器处理指向空锚标记的链接{{1}转到页面顶部。使用#
之类的空href
属性时,可以轻松避免这种情况。