什么是Zepto
Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jQuery有着类似的Api。
如果你会用jQuery,那么你一定也会用Zepto。
为什么要用Zepto
使用jQuery最简单的原因大概就是它拥有强大的选择器、出色的DOM操作封装、兼容性,或许你还有其它的原因,但是使用原因最多的无非就上面三种吧,可是jQuery封装的功能实在太多了,导致即使min也拥有不可忽视的体积,而平时最常用到反反复复就那几个,确实可以考虑换一个迁移成本低(最好是不用改货尽可能少改现有代码那就再好不过了)的库了。
Zepto恰好满足这一点,默认支持绝大部分jQuery的Api,含Ajax,也就是说,如果你从jQuery迁移到Zepto,你的代码依然可用,而Zepto的大小也足够令人心动,min版25k,如果gzip压缩后后仅不到10k。
Zepto有哪些拓展
Zepto默认集成了zepto、event、ajax、form、ie五个模块,几乎可以满足常见的应用场景,同时还提供了其它的拓展以满足不同的需求,比如touch对触摸事件的支持,比如tap事件、data提供对.data()方法的完整支持,像jQuery一样用内存对象存储等等,更多的拓展可以去官网或者GitHub上翻阅。
使用中可能会遇到哪些问题
1、兼容性,谈到这,很严肃的告诉你,Zepto仅支持现代浏览器,向下支持IE10,如果想要兼容低版本IE,可以考虑下面为低版本IE引用jQuery,代码如下:
<!--[if lt IE 10]>
<script src="//cdn.bootcss.com/html5shiv/r29/html5.min.js"></script>
<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<script src="//cdn.bootcss.com/jquery/1.8.3/jquery.min.js"></script>
<![endif]-->
2、没有像jQuery那样丰富的动画效果,fade类函数替换成简单的show()基本可以解决,或者去官网添加fx_methods拓展,怎么用请自行研究吧。
3、CSS选择器的支持没有jQuery多,:text :checkbox :first类似的选择器基本可以说拜拜了,不过也有限的支持几个,用到的时候自行搜索。
4、除了体积小,并没有比jQuery好哪里去,如果用了一段时间觉得不好,随时退回jQuery吧
可供参考的链接
http://www.css88.com/doc/zeptojs_api/
http://chaoskeh.com/blog/some-experience-of-using-zepto.html
http://www.imooc.com/note/229?sort=last