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