2017-01-15 49 views
0

我試圖找到一種方法來檢測是否按下按鈕/持有使用鼠標向上事件的jQueryMosueup並同時按下事件

$("element").mouseup(function(event){ 
     callMe(); 
}); 

function callMe(){ 
    alert("called"); 
} 

任何幫助將是巨大的。

+0

這又有什麼問題? – Rajesh

+0

我想檢測按鈕是否按住,但我只能使用mouseup事件 –

+0

如果按下1按鈕並按住它,然後將其移動到另一個按鈕並釋放,該怎麼辦? – Rajesh

回答

1

我相信你可以通過使用mousedown和mouseup事件的組合來檢測長按。它基本上是計算用戶按下按鈕的時間。

下面是您可以嘗試的示例代碼。

var longpress = 2000; // duration you consider a long press 
    var startTime; 

    $("#button").on('mousedown', function(e) { 
    startTime = new Date().getTime(); 
    }); 

    $("#button").on('mouseleave', function(e) { 
    startTime = 0; 
    }); 

    $("#button").on('mouseup', function(e) { 
    if (new Date().getTime() >= (startTime + longpress)) { 
     alert('long press!'); 
    } else { 
     alert('short press!'); 
    } 
    }); 
+0

我不能使用mousedown。我必須使用mouseup事件才能達到此目的 –

+0

我相信只有當您知道按鈕被按下且未按下時,您才能檢測到按下並按住按鈕。 mouseUp事件本身不足以檢測長按。此外,我不認爲有任何單獨的DOM事件按住。 – Piyush

+0

我知道這一點,但我正在尋找解決辦法。如果有可能實現 –