滚动事件jQuery:区分何时由鼠标触发

滚动事件jQuery:区分何时由鼠标触发,jquery,events,scroll,mouse,target,Jquery,Events,Scroll,Mouse,Target,我正在使用: $('.elem').on('scroll', function(e){ //... }); 是否有办法区分何时仅由鼠标触发 我正在以编程方式使用slideUp(),slideDown(),它们实际上也在触发事件,因此我需要找到一种方法来过滤它,这样我就可以检测何时被触发,只需用鼠标即可添加keyUp事件 $('.elem').on('keyup scroll', function(e) { if (e.which == 38 || e.which == 40 ||

我正在使用:

$('.elem').on('scroll', function(e){
    //...
});
是否有办法区分何时仅由鼠标触发


我正在以编程方式使用
slideUp()
slideDown()
,它们实际上也在触发事件,因此我需要找到一种方法来过滤它,这样我就可以检测何时被触发,只需用鼠标

即可添加
keyUp
事件

$('.elem').on('keyup scroll', function(e) {
  if (e.which == 38 || e.which == 40 || e.which == 33 || e.which == 34) {
    // key press happened using scroll.
  }
    //...
});
keyCode
值用于:

  • 33
    :翻页
  • 34
    :向下翻页
  • 38
    :向上
  • 40
    :向下

此外,键代码33/34为“向上翻页”/“向下翻页”,空格键(32)也会滚动页面。。。也许你应该检查一下
e.type
是否是
keyup
。。“而不是检查所有可能的密码。”乔什·克罗齐同意。添加它们。@neoDev我不明白你的问题。所以这就好像你按下了按键,滚动是由按键触发的。@JoshCrozier你想回答上面的评论吗?“过一会儿我可能会生气。”乔什·克罗齐尔,让我们看看OP是否能理解<代码>:P