1、聲明一個(gè)全局的計(jì)時(shí)器變量如:clickTimer
2、在代理單擊事件里設(shè)置計(jì)時(shí)器,默認(rèn)220毫秒之后觸發(fā)真正的單擊事件處理函數(shù)
3、在雙擊事件里判斷計(jì)時(shí)器變量,如果該變量不為NULL,則說(shuō)明在觸發(fā)該雙擊事件前觸發(fā)了單擊事件,取消計(jì)時(shí)器,因?yàn)檎嬲膯螕羰录幚砗瘮?shù)在220毫秒之后才會(huì)觸發(fā),所以在這個(gè)時(shí)候結(jié)束定時(shí)器,則真正單擊事件處理函數(shù)不會(huì)被執(zhí)行。
附上代碼:
1
var timerClick=null;
2
//單擊事件代理
3
function _onNodeClick(id){
4
//onNodeClick才是真正的單擊事件處理函數(shù)
5
timerClick=window.setTimeout("onNodeClick('"+id+"')",220);
6
}
7
//雙擊事件處理函數(shù)
8
function _onNodeDbClick(id){
9
if(timerClick){
10
window.clearTimeout(timerClick);
11
}
12
}

2

3

4

5

6

7

8

9

10

11

12
