在javascript中获取触摸的持续时间

是否可以在ios设备上使用javascript获取触摸的持续时间(如果可能的话还可以使用其他设备)? 我想区分长按和iphone webapp上的短按“点击”。

谢谢您的意见 :)

$('#element').each(function() { var timeout, longtouch; $(this).bind('touchstart', function() { timeout = setTimeout(function() { longtouch = true; }, 1000); }).bind('touchend', function() { if (longtouch) { // It was a long touch. } longtouch = false; clearTimeout(timeout); }); }); 

jsFiddle 。

小提琴可以长按一下

看一下jQuery mobile http://jquerymobile.com/demos/1.0a4.1/#docs/api/events.html

它有tap和taphold事件,听起来可能符合您的需求。

您可以检查识别点击或长按的时间[jQuery]

 function AddButtonEventListener() { try { var mousedowntime; var presstime; $("button[id$='" + buttonID + "']").mousedown(function() { var d = new Date(); mousedowntime = d.getTime(); }); $("button[id$='" + buttonID + "']").mouseup(function() { var d = new Date(); presstime = d.getTime() - mousedowntime; if (presstime > 999/*You can decide the time*/) { //Do_Action_Long_Press_Event(); } else { //Do_Action_Click_Event(); } }); } catch (err) { alert(err.message); } }