当一个dom对象同时绑定了鼠标点击事件和鼠标拖动事件的时候,事件触发顺序如下 mousedown-mousemove-mouseup-click
但是有时候可能我们并不想拖动之后再触发点击。可以用下面的简单方法屏蔽
<script>
//label是点击 拖动的元素
var isdown = false, ismove = false;
label.onmousedown = function () {
isdown = true;
};
label.onmouseup = function () {
isdown = false;
};
label.onmousemove = function () {
if(isdown) {
ismove = true;
//鼠标拖动事件执行函数
}
};
label.onclick = function () {
//如果是鼠标拖动事件,不触发点击后的处理了
if(ismove) {
ismove = false;
return;
}
//dosomething。。点击事件执行函数
};
</script>