jQuery和Zepto的区别

2016-11-07  本文已影响0人  宁宁nn

       应用场景不同,因为jQuery的强大导致了他本身也强大,所以使他不太适合移动端的开发,Zepto就解决了这个问题,在Zepto里面封装了jQuery的一些基本功能,其他功能都拆分开来,做到让开发者在需要的时候手动引入,有点模块化开发的意味,按需引入,所以他本身轻巧的,更适合移动端。

       虽然Zepto和jQuery的API十分相似,但是在细微上还是有区别的,我觉得会出现的坑如下:

1、Zepto的each方法只能遍历数组,不能遍历JSON对象

2、offset()的区别:

                       Zepto返回{top,left,width,height};

                        jQuery返回{width,height};

3、Zepto无法获取隐藏元素宽高,jQuery可以

4、事件委托的区别

在Zepto中,当a被点击后,一次弹出了“a事件”和“b事件”,说明虽然事件委托在.a上,可是同时也触发了.b上的委托。但是在jQuery中只会触发.a上面的委托弹出“a事件”。说明Zepto中的事件是一个一个触发的,也就是同步的,会出现事件b等着事件a完后才去触发的情况,而jQuery则是同时去触发,a触发的同时b也触发,这个时候还没有b这个对象,所以b的事件不会被触发。

                         var $doc = $(document);

                         $doc.on('click','.a',function(){

                                    alert('a事件');

                         $(this).removeClass('a').addClass('b');

                           });

                         $doc.on('click','.b',function(){

                                         alert('b事件');

                        });

上一篇 下一篇

猜你喜欢

热点阅读