我正在尝试找出哪个函数会在悬停在元素上时导致页面滚动,但是到目前为止我没有找到。
从我的理解来看,该元素没有特定的监听器。它是通过mouseover
监听器或类似方式触发的,这些元素包含许多附加到它们上面的监听器。
此外,这不是浏览器功能,而是特定于JavaScript的,因为当我将大部分代码设置为null时,它并不会发生。
我已经尝试了将我知道的滚动方法设置为null
,例如:
[
'scroll',
'scrollTo',
'scrollBy',
'scrollByLines',
'scrollByPages',
'scrollX',
'scrollY',
'scrollMaxX',
'scrollMaxY',
'scrollHeight',
'scrollIntoView',
'scrollTop',
'scrollTopMax'
].forEach(function(a) {
window[a] = null;
document.documentElement[a] = null;
})
希望当神秘的函数尝试调用滚动方法时会引发错误,但实际上它仍然可以正常滚动而没有任何问题。
我还尝试监听滚动事件,但没有返回值使我更接近负责的函数。
我尝试在压缩的源代码中查找它,但是常见的scroll
搜索返回了266个结果,而且我甚至不确定它是否正在使用典型的滚动方法。
有没有办法可以定位使页面滚动的函数?
getEventListeners(document.querySelector('.link'));
- dfsq.call()
和.apply()
分布的,那我能做什么呢?这最终将变成逐行调试整个代码的相同事情。 - Shadow