零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡(jiǎn)單!
          posts - 96,comments - 52,trackbacks - 0
            在默認(rèn)的情況下,雙擊事件時(shí)是要觸發(fā)單擊事件的,但是這種情況有時(shí)候卻是我們不想要的,那么如何才能在雙擊的時(shí)候屏蔽單擊事件的觸發(fā)呢?網(wǎng)上流傳一種延遲執(zhí)行的方法,大致思路如下:
            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í)行。

          附上代碼:
           1var timerClick=null;   
           2//單擊事件代理
           3function _onNodeClick(id){
           4    //onNodeClick才是真正的單擊事件處理函數(shù)
           5  timerClick=window.setTimeout("onNodeClick('"+id+"')",220);   
           6 }

           7//雙擊事件處理函數(shù)
           8function _onNodeDbClick(id){   
           9  if(timerClick){   
          10      window.clearTimeout(timerClick);  
          11     }
             
          12}
          posted on 2008-11-04 20:14 零全零美 閱讀(1266) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): JavaScript
          主站蜘蛛池模板: 含山县| 饶平县| 东光县| 当阳市| 谷城县| 天门市| 乌恰县| 北海市| 镶黄旗| 正阳县| 奉贤区| 报价| 敖汉旗| 西藏| 中山市| 甘泉县| 海城市| 中方县| 长白| 丹东市| 石棉县| 新昌县| 新沂市| 青浦区| 柞水县| 嘉定区| 名山县| 尼玛县| 衡南县| 巴南区| 福泉市| 防城港市| 安顺市| 仲巴县| 涟水县| 玉田县| 乐东| 苏州市| 南岸区| 关岭| 巴林右旗|