返回介绍

前言

发布于 2019-05-25 21:36:15 字数 5519 浏览 996 评论 0 收藏 0

Zepto 是一个轻量级的针对现代高级浏览器的 JavaScript 库, 它与 jquery 有着类似的 api。 如果你会用 jquery,那么你也会用 zepto。

Zepto的设计目的是提供 jQuery 的类似的API,但并不是100%覆盖 jQuery 。Zepto设计的目的是有一个5-10k的通用库、下载并快速执行、有一个熟悉通用的API,所以你能把你主要的精力放到应用开发上。

Zepto 是一款开源软件,它可以被开发者和商业发布。

下载 Zepto

默认构建包含以下模块:Core, Ajax, Event, Form, IE.

Zepto v1.0 默认捆绑了Effects, iOS3, 和 Detect 模块,请参阅下面的可选模块(optional modules)。

  • 54.6k uncompressed, lots of comments
  • 9.1k when gzipped

grab the latest version on GitHub

用一个 script 标签引入 Zepto 到你的页面的底部:

<script src=zepto.min.js></script>
</body>
</html>

如果 $ 变量尚未定义,Zepto 只设置全局变量 $ 指向它本身。 没有 Zepto.noConflict 方法。

如果你需要支持旧的浏览器,如 Internet Explorer 9 或以下,你可以退回到 jQuery 的 1.x。

需要注意的是Zepto的一些可选功能是专门针对移动端浏览器的;因为它的最初目标在移动端提供一个精简的类似jquery的js库。

在浏览器上(Safari、Chrome和Firefox)上开发页面应用或者构建基于html的web-view本地应用,你如 PhoneGap,使用Zepto是一个不错的选择。

总之,Zepto希望在所有的现代浏览器中作为一种基础环境来使用。Zepto不支持旧版本的Internet Explorer浏览器(<10)。

手动建立 Zepto

zepto.jszepto.min.js 提供以上使用方式。 然而为了更好的程序效果和自由性,可以在使用 Zepto 源码构建Zepto.js和zepto.min.js的时候选择模块并作测试, 使用 UglifyJS 根据你的需要来生成(当服务端开启 gzipped 后,最精简的代码)代码。

关于如何建立 Zepto 的 the README,包含运行测试和补丁。

Zepto 模块

moduledefaultdescription
zepto核心模块;包含许多方法
event通过on()& off()处理事件
ajaxXMLHttpRequest 和 JSONP 实用功能
form序列化 & 提交web表单
ie增加支持桌面的Internet Explorer 10+和Windows Phone 8。
detect提供 $.os$.browser消息
fxThe animate()方法
fx_methods以动画形式的 show, hide, toggle, 和 fade*()方法.
assets实验性支持从DOM中移除image元素后清理iOS的内存。
data一个全面的 data()方法, 能够在内存中存储任意对象。
deferred提供 $.Deferredpromises API. 依赖"callbacks" 模块.
当包含这个模块时候, $.ajax() 支持promise接口链式的回调。
callbacks为"deferred"模块提供 $.Callbacks
selector实验性的支持 jQuery CSS 表达式 实用功能,比如 $('div:first')el.is(':visible')
touch在触摸设备上触发tap– 和 swipe– 相关事件。这适用于所有的`touch`(iOS, Android)和`pointer`事件(Windows Phone)。
gesture在触摸设备上触发 pinch 手势事件。
stack提供 andSelf& end()链式调用方法
ios3String.prototype.trim 和 Array.prototype.reduce 方法 (如果他们不存在) ,以兼容 iOS 3.x.

创建插件

可以通过添加方法作为 $.fn 的属性来写插件:

;(function($){
  $.extend($.fn, {
    foo: function(){
      // `this` refers to the current Zepto collection.
      // When possible, return the Zepto collection to allow chaining.
      return this.html('bar')
    }
  })
})(Zepto)

为了更好开始开发插件,先看下 source of Zepto's core module,并确认读过 coding style guidelines

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文