是否有可能在JavaScript中創建自定義事件(例如,三重點擊或滑動),並在特定條件下觸發?也許是爲了聽這個自定義事件:JavaScript中的自定義事件
addEventListener('trplclick', handler, false);
所以只有3次點擊了不到600毫秒完成,例如處理器將被調用。
是否有可能在JavaScript中創建自定義事件(例如,三重點擊或滑動),並在特定條件下觸發?也許是爲了聽這個自定義事件:JavaScript中的自定義事件
addEventListener('trplclick', handler, false);
所以只有3次點擊了不到600毫秒完成,例如處理器將被調用。
您需要自己觸發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);
}
});
查看類似的問題在這裏: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/
到服務器端? – 2013-03-27 18:32:10
從客戶端到服務器端的什麼? – 2013-03-27 18:33:27
@AkshayJoy他用javascript標記了這個?代碼是js。這是客戶端? – 2013-03-27 18:33:53