在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); } }