[轉] zepto的各種坑


1、編譯zepto。模塊之前可能有依賴關系,整體順序參考下面這個即可:

MODULES="zepto event ajax form ie detect fx fx_methods assets data deferred callbacks selector touch gesture stack ios3" npm run-script dist 

2、支持requirejs。在

window.Zepto = Zepto '$' in window || (window.$ = Zepto) 

后增加如下代碼,以便支持requirejs

if ( typeof define === "function" && define.amd ) { define( "zepto", [], function () { return Zepto; } ); } 

3、加入如下代碼,以支持微信等部分瀏覽器的滑動

if (touch.x2 && Math.abs(touch.x1 - touch.x2) > 10){ e.preventDefault() } 

在如下方法中增加

.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) if (touch.x2 && Math.abs(touch.x1 - touch.x2) > 10){ e.preventDefault() } }) 

詳情見:https://github.com/jnotnull/zepto

4、因IOS在第三方輸入法下不支持onkeyup事件,所以需要使用oninput進行代替onkeyup事件

$("#user-name")[0].oninput = function() { that.checkusername(); }; 

5、使用fastclick代替zepto的tap事件,防止出現穿透問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM