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

Mat*_*mer 6 javascript jquery event-handling

我有一个div,我已经实现了iPad像刷卡.

看看我在JSFiddle上的意思(只需在div中单击并拖动鼠标即可.)

当有人使用滚动条时,我想阻止滑动发生(单击滚动条,然后从左向右移动,仍然会进行滑动).

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

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

编辑:更有意义.

Mat*_*mer 4

这就是我解决这个问题的方法,因为这似乎实际上是不可能的。

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

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

快乐编码!