码迷,mamicode.com
首页 > Web开发 > 详细

JS 手势长按代码

时间:2017-12-25 16:58:56      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:star   head   jquery   doc   jquer   his   prevent   query   height   

jquery

  $.fn.longPress = function(callback) {
    var timer = undefined;
    var $this = this;
    // 支持绑定多个元素
    for (var i = 0; i < $this.length; i++) {
      $this[i].addEventListener(‘touchstart‘, function(event) {
        timer = setTimeout(callback, 500);
        }, false);
      $this[i].addEventListener(‘touchmove‘, function(event) {
        clearTimeout(timer);
        }, false);
      $this[i].addEventListener(‘touchend‘, function(event) {
        clearTimeout(timer);
        }, false);
    }
  }

原生实现

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title></title>
    <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
</head>
<body>
<div style="width:100%;">
    <div id="touchArea" style="width:90%; height:200px; background-color:#CCC;font-size:100px">长按我</div> 
</div>
<script>
var timeOutEvent=0;
$(function(){
    $("#touchArea").on({
        touchstart: function(e){
            timeOutEvent = setTimeout("longPress()",500);
            e.preventDefault();
        },
        touchmove: function(){
                    clearTimeout(timeOutEvent); 
                timeOutEvent = 0; 
        },
        touchend: function(){
            clearTimeout(timeOutEvent);
            if(timeOutEvent!=0){ 
                alert("你这是点击,不是长按"); 
            } 
            return false; 
        }
    })
});

 
function longPress(){ 
    timeOutEvent = 0; 
    alert("长按事件触发发"); 
} 

</script>
</body>
</html>

 

JS 手势长按代码

标签:star   head   jquery   doc   jquer   his   prevent   query   height   

原文地址:http://www.cnblogs.com/CyLee/p/8109910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!