我有一些情况,我使用点击插入一个div,然后mousedown在该div上拖动它.我已经绑定到父容器的点击,并在div本身的mousedown.但是当我在div上拖动时,它也会触发父母的点击,因此插入多个div而不是拖动已经添加的div!
有办法解决这个问题吗?我无法解除点击,因为我需要使用点击添加2个div,然后绑定这些mousedown.
更新:我使用selector.on(event,handler)绑定类型.
解决方法
尝试这样因为event.stopPropagation不会从鼠标向下停止点击事件事件.鼠标向下并单击事件彼此无关.
var mousedDownFired = false; $("#id").mousedown(function(event){ mousedDownFired =true; //code }); $("#id").click(function(event){ if(mousedDownFired) { mousedDownFired = false; return; } //code });
更新:
不,鼠标事件以这种方式触发
1)MouseDown
2)点击
3)MouseUp
如果鼠标向下触发,则标志将在鼠标关闭后启用点击将触发在这个点击事件将禁用标志变量.这将以循环的方式工作.不会考虑两个鼠标或两次点击