真爱可可
真爱可可
  • 发布:2015-09-01 14:12
  • 更新:2015-09-08 16:41
  • 阅读:5264

mui.js和zepto.js同时引入的时候点击事件(tap)每次都出发两遍

分类:MUI

2015-09-01 14:12 负责人:无 分享
已邀请:
荼蘼

荼蘼

把zepto.js的touch api 去掉 就好了,像如下注释掉

//;(function($){  
//var touch = {}, touchTimeout  
//  
//function parentIfText(node){  
//  return 'tagName' in node ? node : node.parentNode  
//}  
//  
//function swipeDirection(x1, x2, y1, y2){  
//  var xDelta = Math.abs(x1 - x2), yDelta = Math.abs(y1 - y2)  
//  return xDelta >= yDelta ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down')  
//}  
//  
//var longTapDelay = 750, longTapTimeout  
//  
//function longTap(){  
//  longTapTimeout = null  
//  if (touch.last) {  
//    touch.el.trigger('longTap')  
//    touch = {}  
//  }  
//}  
//  
//function cancelLongTap(){  
//  if (longTapTimeout) clearTimeout(longTapTimeout)  
//  longTapTimeout = null  
//}  
//  
//$(document).ready(function(){  
//  var now, delta  
//  
//  $(document.body).bind('touchstart', function(e){  
//    now = Date.now()  
//    delta = now - (touch.last || now)  
//    touch.el = $(parentIfText(e.touches[0].target))  
//    touchTimeout && clearTimeout(touchTimeout)  
//    touch.x1 = e.touches[0].pageX  
//    touch.y1 = e.touches[0].pageY  
//    if (delta > 0 && delta <= 250) touch.isDoubleTap = true  
//    touch.last = now  
//    longTapTimeout = setTimeout(longTap, longTapDelay)  
//  }).bind('touchmove', function(e){  
//    cancelLongTap()  
//    touch.x2 = e.touches[0].pageX  
//    touch.y2 = e.touches[0].pageY  
//  }).bind('touchend', function(e){  
//     cancelLongTap()  
//  
//    // double tap (tapped twice within 250ms)  
//    if (touch.isDoubleTap) {  
//      touch.el.trigger('doubleTap')  
//      touch = {}  
//  
//    // swipe  
//    } else if ((touch.x2 && Math.abs(touch.x1 - touch.x2) > 30) ||  
//               (touch.y2 && Math.abs(touch.y1 - touch.y2) > 30)) {  
//      touch.el.trigger('swipe') &&  
//        touch.el.trigger('swipe' + (swipeDirection(touch.x1, touch.x2, touch.y1, touch.y2)))  
//      touch = {}  
//  
//    // normal tap  
//    } else if ('last' in touch) {  
//      touch.el.trigger('tap')  
//  
//      touchTimeout = setTimeout(function(){  
//        touchTimeout = null  
//        touch.el.trigger('singleTap')  
//        touch = {}  
//      }, 250)  
//    }  
//  }).bind('touchcancel', function(){  
//    if (touchTimeout) clearTimeout(touchTimeout)  
//    if (longTapTimeout) clearTimeout(longTapTimeout)  
//    longTapTimeout = touchTimeout = null  
//    touch = {}  
//  })  
//})  
//  
//;['swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap'].forEach(function(m){  
//  $.fn[m] = function(callback){ return this.bind(m, callback) }  
//})  
//})(Zepto)
  • 师宁丶

    你好 能把那个去掉touch api后的zepto.Js发一份吗

    2016-09-29 17:28

该问题目前已经被锁定, 无法添加新回复