【发布时间】:2012-11-10 12:49:49
【问题描述】:
我正在尝试在我的一个 div“相册”上进行拖动和滚动,这是一个图像列表。
这就是我所做的
$(album).on({
mousedown:function(){
console.log('mousedown');
$(album).on('mousemove', function(){
console.log('mousemove')
})
}
mouseup:function(){
console.log('mouseup');
$(album).off('mousemove');
}
})
这里发生的情况是,在鼠标按下后,它会追踪 'mousemove' 大约 4 或 5 次,然后它会停止追踪,并且会出现一个小的无操作图标以及我单击的图像的透明版本。然后,如果我在这里放开鼠标,它就不会追踪到'mouseup'。但是,如果我单击 div 并且不移动鼠标然后放开,它会追踪“mouseup”。
为什么控制台不继续跟踪鼠标移动,为什么不跟踪 mouseup?谢谢。
【问题讨论】:
-
我有一个完整的例子给你:)
-
你对这个人有什么好运吗?
-
我有一个理论,上面代码中的错误是由于 click 事件只触发一次并且您希望 mousemove 上的持续状态。 VIDesign 通过阻止 click 事件的默认行为解决了这个问题,我通过为 mousemove 事件创建依赖关系解决了这个问题。由你决定你喜欢哪个答案。
标签: jquery mouseevent