大家好,
jQuery 团队很荣幸地发布即将发布的 UI 版本的第一个 beta 版本,jQuery UI 1.5! 经过漫长的开发,最初的计划是发布一个 bug 修复版本,但它却发展成了一些我们无法称之为 1.0.1,甚至 1.1 的东西,不,它太美味了,我们必须称之为 1.5。
jQuery UI 1.5 是对库的彻底改造——许多组件都已从头完全重写,以提高整体稳定性和性能,并且我们终于确定了所有组件的统一 API。 那么让我们直接进入所有更改的列表
统一 API
API 已更新至所有 UI 组件。 如果您熟悉其中一个组件,现在应该很容易使用其他插件。 每个插件只有一个公开方法——所有其他方法都通过将字符串传递到公开方法来调用,插件的初始化是通过将选项哈希作为第一个参数传递来完成的。 您现在可以使用新的 data 方法在稍后更改和获取所有选项。 Draggable 的基本示例
$(..).draggable({...}); // 初始化 draggable
$(..).draggable("disable"); // 禁用 draggable
$(..).data("cursor.draggable", "move") // 将拖动期间的鼠标光标更改为 'move'
更新和修订的文档
jQuery Wiki 中的文档已完全更新,以反映最近的更改。 我们还确保这次记录了所有回调及其参数。
拖放:吸附、相对拖动
Draggables 和 Droppables 已完全重构。 它现在可能是迄今为止最非破坏性的拖放实现:css position 的值不会更改,除非为“static”:这意味着静态或相对定位的元素不会被强制设置为绝对定位,这通常会破坏布局,尤其是在处理浮动元素时。
一些选项已重命名,以便更好地识别:preventionTimeout 变为 delay,preventionDistance 变为 distance。
此外,还添加了一个新的选项插件:snap 插件。 还记得 Winamp 窗口的停靠吗? 是的,您现在可以使用 UI draggables 执行此操作——只需将“snap”设置为选择器以选择所有要吸附的元素,您就可以开始了。 当然,您还可以使用 snapTolerance 和 snapMode 根据需要进行配置。
Slider:范围、多个手柄和可访问性
Slider 没有重构,但已从头完全重写。 虽然它仍然几乎向后兼容,但现在它比以往任何时候都更稳定、更简单:moveTo 方法现在仅接受两个参数:您想要移动手柄到的值以及可选的手柄索引。 想检索特定的手柄值? 没问题,只需调用$(..).slider(“value”, index) 。
更好的是,slider 现在是完全键盘可访问的:您现在可以选项卡并聚焦每个 slider 手柄,并使用左/右键移动其位置。 我们还改进了鼠标支持:单击空区域现在会将焦点手柄移动到单击的位置,无论您有多少个手柄。
对于那些正在寻找高级用法的人来说,slider 现在支持范围:只需将选项“range”设置为 true 并确保您有两个手柄,脚本就会在这两个 slider 之间创建一个可见的范围,可以单独设置样式。 该脚本甚至确保您无法创建负范围。
Sortables:连接的 sortables、序列化等
同样经过重写,sortables 现在支持您已经从 draggables 中了解的各种功能:cursor、zIndex、revert、opacity、axis、handles、containment 和 scrolling。 此外,您现在可以将项目序列化为 url 哈希,并且您现在拥有长期以来要求的将多个 sortables 连接起来的能力,以便您可以将一个节点从一个 sortable 拖动到另一个 sortable。
还有更多!
这只是我个人参与的插件的摘录——最终版本将附带官方更改日志——但大多数其他插件也经过了重构,具有大量的全新功能,包括 datepicker、tabs、accordion、resizables 等。
……以及更少!
为我们的姊妹库 Enchant 做好准备,我们删除了 magnifier 和 shadow 插件并将其移动到 Enchant。 不用担心,您可以在我们的 SVN trunk 下的 trunk/fx 中找到它们。 此外,由于 API 和路线图不兼容,table sorter 组件已被删除。 很快将有一个网格组件,其中包含其大部分功能。
……以及无数的 bug 修复
我们可以为自己创造便利,只需重写所有内容并删除 1.0 的所有 bug 报告,因为不可能再追踪它们了,但我们没有这样做:所有针对 1.0 版本收到的问题都已得到处理和解决。
有关此版本中所有更改的内容,请参阅文档或在代码中查找。 请记住,这是一个 beta 版本——预计会出现错误和不稳定(但比 1.0 更好:P)。 此外,如果您报告任何问题到我们的bug tracker,对我们来说将是一大帮助。
现在去这里获取它:http://ui.jquery.com 或直接从我们的 google code 页面:jquery.ui-1.5b.zip。 对于此版本,我们已停用下载器——因此请下载 zip 包并包含您需要的内容。 您可以在文档中阅读依赖项。
感谢所有使此版本成为可能的贡献者——我将在最终版本说明中单独感谢你们每个人,我太懒太累了,不想重复两次:)
大约两周后见!
