Javascript如何找到滚动事件的来源
Javascript how to find the source a scroll event
我遇到了一个有趣的错误,我不知道如何调试它。每次在我的网站上加载页面时,都会触发滚动事件。页面不会明显移动,我当然不会通过鼠标或键盘触发滚动。我知道滚动事件正在启动,因为我放入了一行读取的代码
$(window).bind('scroll', function (e) {console.log(e)});
果不其然,在每一页上,我都会在控制台的日志中收到一条"jQuery.Event"的消息。当我中断它时,我的调用堆栈将终止于jQuery.even.dispatch.apply(eventHandle.elem,arguments),这不会给我太多的工作空间。
问题来了。如何找出触发此滚动事件的原因?jquery事件对象中是否有一个属性可以告诉我滚动是由用户触发的还是由脚本触发的?在这种情况下,你会怎么想?
好吧,看起来jQuery将所有事件绑定数据隐藏在一个隐藏属性中。这篇文章描述了一些方法,可以让您至少了解正在运行的内容——您仍然有责任了解处理程序在哪个文件中的位置。
在涉及scroll
事件的情况下:
var scrollHandlers = jQuery._data(window, 'events')['scroll'];
for (var i = 0; i < scrollHandlers.length; i++) {
console.error(scrollHandlers[i].handler); // or console.debug, whatever proves they exist
}
相关文章:
- 只覆盖箭头键滚动事件
- Javascript如何找到滚动事件的来源
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- jquery/ajax无限滚动事件
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 在滚动时,在隐藏滚动条和隐藏溢出的同时触发事件
- 如何用javascript调用函数,然后在滚动事件中调用该函数的特定实例
- 将事件列表滚动到给定月份的第一个事件
- '滚动'事件未在CompositeView中激发
- 从父元素取消绑定滚动事件并绑定到子元素
- JavaScript/jQuery未触发滚动事件
- 如何使用javascript检测不可滚动元素中的滚动事件和方向
- Javascript鼠标滚轮事件滚动
- 点击未触发溢出事件:滚动
- 将jquery事件滚动与“;在“上”;
- actionscript 3-as3中的鼠标事件滚动flash和html.有没有办法停止使用javascript
- jquery和事件滚动