一、点击和拖动
1、问题
对于同一个对象进行的操作涉及点击(click)和拖动(mousedown,mousemove,mouseup),而拖动中又会触发一次点击事件
2、解决:设置全局变量判断点击之后是否移动
点击事件: mousedown–>mouseup
拖动事件: mousedown–>mousemove–>mouseup
var ismove;
function mousedown(){
ismove = false;
}
function mousemove(){
ismove = true;
}
function mouseup(){
if(ismove){
拖动...
}else{
点击
}
}
二、单击和双击
1、问题
双击事件会触发一次单击和一次双击
2、解决
//定义setTimeout执行方法
var time = null;
$('div').click(function () {
// 取消上次延时未执行的方法
clearTimeout(time);
//执行延时
time= setTimeout(function(){
//do function在此处写单击事件要执行的代码
},300);
});
$('div').dblclick(functin () {
// 取消上次延时未执行的方法
clearTimeout(time);
//双击事件的执行代码
})