这个月初,Prototype 团队发布了版本号为 1.6.0 的第一个的 RC 版。该版本包括了许多核心 API 更新、错误修正以及新增特征。其中比较重要的:
- 增强事件(Event)API
- 过去使用 Event.oberver 或 Element#observe 登记的事件处理器现在将自动地绑定到事件的目标元素(在所有浏览器中)上
- 事件对象现在扩展了一组实例方法。
- 针对 Event.stopObserving 和 Element#stopObserving 的事件名及处理器参数现在是可选的
- Prototype 现在支持定制事件
- 我们已经为 DOMContentLoaded 事件内建了跨浏览器支持
- 增强函数(Function)API
- Function#wrap 提取面向方面编程的精华到一个单个方法中
- Function#curry 允许 partial function(译注:指定部分函数的参数,在使用时再提供另一部分参数)应用
- Function#methodize 封装了将函数的第一个参数转变成 this 值的模式
- Function#argumentNames 返回一个字符串数组,它代表函数的命名参数
- Function#delay 提供了一个对 window.setTimeout 方便的包装
- 增强类(Class)API
- Class.create 现在支持三种可选的调用形式
- 新的 Class.extend 方法工作起来象 Object.extend
- 如果你要覆盖来自父类的一个方法,你现在可以通过指定所覆盖函数的第一个参数为 $super 来访问父类方法
- 类现在有了 constructor、superclass 和 subclasses 属性
- 增强 Ajax API
- 现在你可以以 JavaScript 对象来访问 JSON 响应体
- 传输对象本身现在被 Prototype 包装起来了
- DOM API Enhancements
- Prototype 现在有一个新的引以为傲的跨浏览器 DOM Builder
- 我们已经摒弃了 Insertion 对象和 Position 名字空间
- Element#update 和 Element#replace 现在也都接受 DOM elements
- Element#setStyle 现在也接受 CSS 规则字符串
- 改善对 JavaScript 1.6 和 WHATWG 1.0 标准的支持
如上所述,事件 API 已经被彻底大修。就像发布新闻中所描述的“一夜之间,我们一个最差的 API 变成了最好的”。1.6 版还包含了一个新的 DOM Builder 。
查看英文原文: Prototype 1.6 RC Includes DOM Builder and Event API Overhaul
评论