2017-01-15 4 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

Я знаю это, но я ищу работу. если можно достичь –