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

移动端tap事件的封装

时间:2017-02-28 17:23:21      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:cti   add   eve   事件   调用   span   移动   重置   cli   

/*封装tap*/
cc.tap = function(dom,callback){
    /*
     * 要求  没有触发 touchmove 事件
     *       并且响应速度要比click快
    */
    if(dom && typeof  dom == ‘object‘){
        var isMove = false;
        var startTime = 0;
        dom.addEventListener(‘touchstart‘,function(e){
            //console.log(‘touchstart‘);
            //console.time(‘tap‘);/*记录tap这个参数现在的时间*/
            startTime = Date.now();
        });
        dom.addEventListener(‘touchmove‘,function(e){
            //console.log(‘touchmove‘);
            isMove = true;
        });
        dom.addEventListener(‘touchend‘,function(e){
            //console.log(‘touchend‘);
            //console.timeEnd(‘tap‘)/*打印tap这个参数距离上一次记录的时候的时间*/
            /*判读  是否满足tap 的要求  一般要求tap的响应时间150*/
            if(!isMove && (Date.now()-startTime) < 150){
                /*调用 callback*/
                callback && callback(e);
            }
            /*重置 参数*/
            isMove = false;
            startTime = 0;
        });
    }
}

这边进行封装的原因是click事件有一个延迟

移动端tap事件的封装

标签:cti   add   eve   事件   调用   span   移动   重置   cli   

原文地址:http://www.cnblogs.com/199316xu/p/6479566.html

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