零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡單!
          posts - 96,comments - 52,trackbacks - 0
            在默認的情況下,雙擊事件時是要觸發單擊事件的,但是這種情況有時候卻是我們不想要的,那么如何才能在雙擊的時候屏蔽單擊事件的觸發呢?網上流傳一種延遲執行的方法,大致思路如下:
            1、聲明一個全局的計時器變量如:clickTimer
            2、在代理單擊事件里設置計時器,默認220毫秒之后觸發真正的單擊事件處理函數
            3、在雙擊事件里判斷計時器變量,如果該變量不為NULL,則說明在觸發該雙擊事件前觸發了單擊事件,取消計時器,因為真正的單擊事件處理函數在220毫秒之后才會觸發,所以在這個時候結束定時器,則真正單擊事件處理函數不會被執行。

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

           7//雙擊事件處理函數
           8function _onNodeDbClick(id){   
           9  if(timerClick){   
          10      window.clearTimeout(timerClick);  
          11     }
             
          12}
          posted on 2008-11-04 20:14 零全零美 閱讀(1259) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 滕州市| 博湖县| 牟定县| 乌苏市| 垦利县| 从化市| 宜州市| 淮南市| 渝北区| 青州市| 青岛市| 黄山市| 彩票| 蒲城县| 金山区| 迁安市| 齐河县| 闻喜县| 开阳县| 巴林左旗| 临洮县| 托克托县| 华蓥市| 六安市| 河津市| 梅州市| 牙克石市| 邻水| 布尔津县| 禹城市| 内乡县| 公安县| 松滋市| 崇仁县| 岑巩县| 犍为县| 光泽县| 鞍山市| 镇巴县| 广饶县| 历史|