2009-06-24 35 views
1

我想在用戶點擊一個對象時啓動一個計時器,並在用戶釋放點擊時停止它。全部使用javascript/jquery。如何測量點擊和釋放之間的JavaScript時間?

+0

也許如果你能告訴我們你所要完成此 – mkoryak 2009-06-24 14:24:35

+0

我理解爲他想測量按下鼠標按鈕的時間它會更好。但是,是的,澄清這個問題可以幫助 – 2009-06-24 14:27:01

回答

5

下面應該讓你開始

var start_time; 
function start() { 
    start_time = new Date(); 
} 
function end() { 
    var now = new Date(); 
    alert(now-start_time); 
} 

$('#element_id').mousedown(start); 
$('#element_id').mouseup(end); 

MouseDown事件將運行啓動功能,這臺開始時間。 mouseup事件將減去當前時間的開始時間。其結果是在毫秒

+0

這就是我想要的。謝謝 – 2009-06-24 14:30:33

+1

您可能想要添加mouseout(),以顯示時間的差異,以防用戶在釋放之前將鼠標拖放到元素外部。或者在文檔上設置mouseup(),並設置一個標誌來確保鼠標在元素內部被點擊。這樣,用戶釋放鼠標按鈕的位置並不重要... – peirix 2009-06-24 14:35:07

-1
function myTimer() { 
    doSomething(); 
} 

$('#thing').mousedown(function() { 
    $(this).data('timerHandle', setTimeout(myTimer)); 
}); 
$('#thing').mouseup(function() { 
    clearTimeout($(this).data('timerHandle')); 
} 
0

$("#element").mousedown();將讓你記錄當用戶點擊,同樣$("#element").mouseup();會讓釋放按鈕時錄製。

var start = 0; 
$("#element").mousedown(function() { start = new Date(); }); 
$("#element").mouseup(function() { 
    var cur = new Date(); 
    alert(cur-start); 
}