js移动端tap事件封装

Posted 酱板鸡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js移动端tap事件封装相关的知识,希望对你有一定的参考价值。

这几天做项目,发现移动端需要触摸事件,而click肯定是不行的,于是我对tap事件封装进行了搜索,找到了一篇文章,原文地址如下:http://www.jb51.net/article/50663.htm,

我对其中第一个封装加了一点东西,把它封装在一个函数里面,使用的时候直接调用即可,源代码如下(tap.js):

function tap(ele, fn){
    var startTx, startTy;
    var endTx, endTy;
    ele.addEventListener( ‘touchstart‘, function( e ){
    var touches = e.touches[0];
    startTx = touches.clientX;
    startTy = touches.clientY;
}, false );

ele.addEventListener( ‘touchend‘, function( e ){
    var touches = e.changedTouches[0],
    endTx = touches.clientX,
    endTy = touches.clientY;
    if( Math.abs(startTx - endTx) < 6 && Math.abs(startTy - endTy) < 6 ){
        fn();
    }
}, false );
}

  使用方法,引入js文件(即tap.js),然后执行如下调用:

/*
    参数说明:
    ele:原生的dom对象
    fn :回调方法,执行你需要的操作    
*/

tap(ele,function(){
    //你需要执行的操作
});    

  

以上是关于js移动端tap事件封装的主要内容,如果未能解决你的问题,请参考以下文章

移动端tap事件的封装

移动端web,tap与click事件

移动端tap事件的实现

原生js封装tap

移动端点击事件全攻略

移动端触屏click点击事件延迟问题,以及tap的解决方案