Zepto的SwipeUp 在 android 和微信 的解決方案

Zepto的SwipeUp 在 android 和微信 的解決方案

時間:2016-04-19 22:20:09html

做者:zhongxiaandroid


問題解決方案:

Q:爲何swipeUp和swipeDown在手機測試不成功??git

A: 把這段代碼添加到 zepto.min.js 的最上面github

document.addEventListener('touchmove', function (event) { event.preventDefault(); }, false);

這段代碼仍是有問題:   內容太長出現滾動條以後, 沒有辦法滾動瀏覽器

作公司的一個手機站,發現zepto的touch.js在安卓上的兼容性有bug,主要是在微信上沒法觸發swipe*事件,並且這個 bug 做者不肯意修,理由是:我特麼沒有安卓設備。發生這種bug的緣由大概是安卓設備上微信

網上找到了一個大神的初步解決方案:在touch.js中加一段代碼:函數

 

.on('touchmove MSPointerMove pointermove', function(e){
        if((_isPointerType = isPointerEventType(e, 'move')) &&
          !isPrimaryTouch(e)) return
        firstTouch = _isPointerType ? e : e.touches[0]
        cancelLongTap()
        touch.x2 = firstTouch.pageX
        touch.y2 = firstTouch.pageY

        deltaX += Math.abs(touch.x1 - touch.x2)
        deltaY += Math.abs(touch.y1 - touch.y2)

        /**
         * 修復 android 4.4 swipe 事件
         * https://github.com/madrobby/zepto/issues/315#issuecomment-8386027
         */
        if (touch.x2 && Math.abs(touch.x1 - touch.x2) > 10)
            e.preventDefault()
      })

雖說這點代碼, 可是這段代碼要放在什麼地方呢? 測試

加載 自執行函數裏面的  $(window).on 的綁定事件上spa

NewImage

 

DEMO: http://zhongxia245.github.io/demo/ZeptoTouch/index.htmlcode

能夠在微信掃碼,打開試一下,Android 的瀏覽器一樣能夠試一下

相關文章
相關標籤/搜索