0

我已经尝试了一段时间来完成这项工作。这种方法似乎适用于互联网上的几个地方,但不适用于我。请注意,当我在手机上试用它时,这在 Dreamweaver(和 chrome)中有效,但在 Eclipse Indigo(Phonegap) 中无效。

 $("#button4").mouseup(function(){
 //  clearTimeout(pressTimer);
    pressTimer = 0;
   // Clear timeout
   return false;
 }).mousedown(function(){
   // Set timeout
   pressTimer = window.setTimeout(function() { test(); },1000);
   return false; 
 });

 function test ()
 {alert("Longpress works");}

正常的“点击”也适用于“button4”。

4

1 回答 1

7

这对我有用。使用 on() 是实现 jquery 事件的最新方法

var longpress;
$(document).ready(function(){
$("#yourElement").on('mousedown' ,function(){      
 longpress=true;    
 setTimeout(function() {    
    if(longpress)
     alert("long press works!");         
                  }, 3000);
})
$("#yourElement").on('mouseup' ,function(){      
    longpress=false;    
})

 }); //END

使用 .off() 删除事件。另请注意,如果您使用的是智能手机,则应使用“touchstart”作为 mousedown 事件,使用“touchend”作为 mouseup。

于 2013-04-02T07:41:34.820 回答