一 同
最近学习了Zepto框架,Zepto最初是为移动端开发的库,是jQuery的轻量级替代品,因为它的API和jQuery相似,而文件更小。Zepto最大的优势是它的文件很小,是目前功能完备的库中最小的一个,尽管不大,Zepto所提供的工具足以满足开发程序的需要。大多数在jQuery中·常用的API和方法Zepto都有,Zepto中还有一些jQuery中没有的。另外,因为Zepto的API大部分都能和jQuery兼容,所以用起来极其容易,如果熟悉jQuery,就能很容易掌握Zepto。
二 异
1、Zepto更轻量级。
2、Zepto是jQuery的精简,针对移动端去除了大量jQuery的兼容代码。
3、部分API的实现方式不同。
(1)、针对移动端程序,Zepto有一些基本的触摸事件可以用来做触摸屏交互(tap事件、swipe事件),Zepto是不支持IE浏览器的。
(2)、DOM操作的区别:添加id时jQuery不会生效而Zepto会生效
(3)、事件触发的区别:使用jquery时load事件的处理函数不会执行;使用zepto时load事件的处理函数会执行。
(4)、事件委托的区别:zepto中,选择器上所有的委托事件都依次放入到一个队列中,而在jquery中则委托成独立的多个事件。
(5)、width() 与 height()的区别:zepto由盒模型(box-sizing)决定,用.width()返回赋值的width,用.css(‘width’)返回border等的结果;jquery会忽略盒模型,始终返回内容区域的宽/高(不包含padding、border)。
(6)、offset()的区别:zepto返回{top,left,width,height};jquery返回{width,height}。zepto无法获取隐藏元素宽高,jquery可以。