Rut*_*rde 17 jquery event-handling mouseevent jquery-events
我有一个特定的场景,我正在使用click插入div然后mousedown在该div上拖动它.我绑定click到父容器,并mousedown在div本身.但是当我mousedown在div上时,它也会触发父对象的点击,因此插入多个div而不是拖动已经添加的div!
有没有办法解决这个问题?我无法解除绑定click,因为我需要使用它添加2个div click,然后绑定mousedown这些.
更新:我正在使用selector.on(event, handler)绑定类型.
Yog*_*ran 16
试试这种方式.因为event.stopPropagation不会停止鼠标按下事件事件.鼠标按下和单击事件彼此无关.
var mousedownFired = false;
$("#id").on('mousedown', function(event) {
mousedownFired = true;
//code
});
$("#id").on('click', function(event) {
if (mousedownFired) {
mousedownFired = false;
return;
}
//code
});
Run Code Online (Sandbox Code Playgroud)
更新:
不.鼠标事件就像这样触发
1)MouseDown
2)点击
3)MouseUp
如果触发鼠标按下,则在触发鼠标按下事件后将启用标志.在此单击事件将禁用标志变量.这将作为循环方式工作.不要考虑两个鼠标按下或两次点击