2013-05-03 62 views
1

在移动设备上,如果存在项目列表并且用户触摸了其中一项,则突出显示该项目以指示用户正在触摸它。但是,一旦用户开始滚动(向上或向下滑动),突出显示就会消失,因此用户知道在释放手指时他们不会再激活该按钮。jQuery - 检测滚动量

我想在手机上做类似的事情,所以我需要检测元素何时滚动,以便删除列表项上的高亮区。然而,jquery scroll事件似乎与touchbegin同时被触发,而不是当元素实际上滚动时。所以为了这个工作,我需要检测几个像素的滚动,然后删除突出显示。什么是我实现这个目标的最好方法?

+0

应该可以使用jQuery管理高亮类,并在滚动时删除该类。谢谢.scroll() – nicolas 2013-05-03 00:24:10

+0

这就是我目前正在做的,但似乎滚动触发后立即被触发,因此高亮立即被删除 – Brad 2013-05-03 00:40:40

+0

哦,对不起,快点读。看起来像 - 就像你说的 - 你别无选择,只能检测scrollTop在ordre中是否发生了显着变化,以确定它是单击还是滚动......您可以将scrollTop存储在mouseDown事件中,并将其与* .scroll()进行比较。功能? – nicolas 2013-05-03 00:50:42

回答

2

我发现了一个解决方案,touchcancel事件工作得很好,因为它在滚动开始时被触发。