如何确定是否从滚动条触发了事件

时间:2011-10-15 17:05:31

标签: javascript jquery event-handling

我有一个div,我已经实现了iPad,如滑动。

查看我在JSFiddle上的含义(只需在div中单击并拖动鼠标即可。)

我想防止有人使用滚动条时发生滑动(点击滚动条,然后从左向右移动,仍然会滑动)。

简而言之,我需要的是if(!event.wasTriggeredFromScrollbar)我可以在任何事件触发器中使用(在这种情况下是mousedown / move / up)。

jQuery和常规'ol Javascript答案欢迎。

编辑:更有意义。

1 个答案:

答案 0 :(得分:4)

以下是我如何解决这个问题,因为它似乎无法实现。

第1步:捕获 MouseDown 事件。将scrollLeft和scrollTop的当前位置存储到变量中。

第2步: MouseMove 事件中,检查 scrollLeft scrollTop 的当前位置并进行比较反对你的变量。如果它们不同,则取消您要执行的任何操作。如果它们是相同的, MouseDown 事件不是由滚动条(或任何其他会改变scrollLeft和scrollTop,如另一个动画)触发的,你可以自由地做你想做的事情!

快乐的编码!