移動端長按事件

<!DOCTYPE html>  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
<title>長按</title>  
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />  
<meta name="apple-touch-fullscreen" content="yes">  
<meta name="apple-mobile-web-app-capable" content="yes" />   
  
</head>  
<body id="body_id" >  
<div style="width:100%;">  
<div style="width:100%; height:100px; background-color:#CCC;" ontouchstart="gtouchstart()" ontouchmove="gtouchmove()" ontouchend="gtouchend()">長按我</div>   
</div>  
<script>  
var timeOutEvent=0;//定時器   
//開始按   
function gtouchstart(){   
    timeOutEvent = setTimeout("longPress()",500);//這裏設置定時器,定義長按500毫秒觸發長按事件,時間可以自己改,個人感覺500毫秒非常合適   
    return false;   
};   
//手釋放,如果在500毫秒內就釋放,則取消長按事件,此時可以執行onclick應該執行的事件   
function gtouchend(){   
    clearTimeout(timeOutEvent);//清除定時器   
    if(timeOutEvent!=0){   
        //這裏寫要執行的內容(尤如onclick事件)   
        alert("你這是點擊,不是長按");   
    }   
    return false;   
};   
//如果手指有移動,則取消所有事件,此時說明用戶只是要移動而不是長按   
function gtouchmove(){   
    clearTimeout(timeOutEvent);//清除定時器   
    timeOutEvent = 0;   
      
};   
   
//真正長按後應該執行的內容   
function longPress(){   
    timeOutEvent = 0;   
    //執行長按要執行的內容,如彈出菜單   
    alert("長按事件觸發發");   
}   
  
</script>  
</body>  
</html>

 轉載於:https://www.cnblogs.com/imsomnus/p/6429074.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章