一、點選和拖動
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);
//執行延時
TimeFn = setTimeout(function(){
//do function在此處寫單擊事件要執行的代碼
},300);
});
$('div').dblclick(functin () {
// 取消上次延時未執行的方法
clearTimeout(time);
//輕按兩下事件的執行代碼
})