仅当* user *滚动元素时才会触发的事件?

时间:2014-09-11 12:20:35

标签: javascript jquery dom

我需要响应用户手动滚动具有滚动条的元素。

不幸的是,scroll事件在几个不同的情况下在同一元素上发生

  • 当用户滚动元素时(我唯一感兴趣的一个);
  • 当用户调整窗口大小并且元素的滚动位置间接改变时;
  • 当用户更改页面的缩放并且元素的滚动位置间接改变时;
  • 当代码以编程方式更改元素的scrollTop位置时。

有没有办法只隔离第一种情况并且只有当用户实际按字母顺序滚动元素时才有触发器?

2 个答案:

答案 0 :(得分:0)

我不知道你是否正在寻找它,但正如this page所述,你可以检查event.target以确认你的滚动是否在想要的元素上。

答案 1 :(得分:0)

你可以通过preventDefault()来防止滚动事件的冒泡,就像我记得的那样。如果你在控件上注册滚动事件(j-query)并防止它冒泡到另一个控制我认为会解决你正在寻找的问题。