2013-03-27 85 views
2

是否有可能在JavaScript中創建自定義事件(例如,三重點擊或滑動),並在特定條件下觸發?也許是爲了聽這個自定義事件:JavaScript中的自定義事件

addEventListener('trplclick', handler, false); 

所以只有3次點擊了不到600毫秒完成,例如處理器將被調用。

+0

到服務器端? – 2013-03-27 18:32:10

+0

從客戶端到服務器端的什麼? – 2013-03-27 18:33:27

+0

@AkshayJoy他用javascript標記了這個?代碼是js。這是客戶端? – 2013-03-27 18:33:53

回答

1

您需要自己觸發triplclick事件。聆聽單個點擊事件,對它們進行計數,並在有意義時觸發triplclick。請參考document.dispatchEvent

我使用jQuery說明概念,但你並不需要:

var count = 0; 
var resetTimeout - 1; 
$(element).on("click", function(){ 
    count++; 
    clearTimeout(resetTimeout); 
    if (count === 3) 
    { 
     count = 0; 
     $(element).trigger("trplclick"); 
    } 
    else 
    { 
     resetTimeout = setTimeout(function(){ 
      count = 0; // Don't count if no click within the last second. 
     }, 1000); 
    } 
}); 
0

查看類似的問題在這裏:How do I listen for triple clicks in JavaScript?

基本上它是結合雙擊事件和單點擊事件一起模仿三重點擊。雙擊事件觸發器時,將超時設置爲200ms。如果有下面的點擊,請檢查定時器是否超時。如果在先前的雙擊之後200ms後發生此點擊(此時,雙擊處理程序中的計時器設置爲空),則放棄此點擊,否則將其計爲三擊。

對於一般,我將把您設置自定義事件尼古拉斯C. Zakas的博客文章:從客戶端http://www.nczonline.net/blog/2010/03/09/custom-events-in-javascript/