jQuery UI 1.9 里程碑 8 - 位置

发布日期 作者

jQuery UI 1.9 的第八个里程碑版本已经发布。自上一个里程碑版本以来,有很多改进和变化。最值得注意的是,位置实用程序的重新设计已完成。

什么是里程碑版本?

里程碑版本可以让您更轻松地试用最新的 jQuery UI 开发代码,而不必从 GitHub 中检出代码。

使用里程碑版本,您可以试用那些已经相当完善的新小部件(尽管还没有最终定稿),并根据特定版本号的已发布代码提供反馈。

位置

位置重新设计现已完全实施。using 选项现在提供了有关元素相对于目标位置的信息。这些信息在各种情况下非常有用,例如,如果您希望元素指向目标,则需要知道在哪里渲染箭头(想想带有标注的工具提示)。这些信息作为第二个参数传递给 using 回调函数。

可访问性

工具提示和小部件自动完成已更新以实现完整的 ARIA 支持。使这些小部件能够与各种浏览器和辅助技术完全访问非常困难。对 Hans Hillen 和 Everett Zufelt 在测试和实施方面的帮助表示衷心感谢。

大量的错误修复

许多组件都进行了大量的错误修复。虽然我们继续维护 1.8 分支,但很多错误只在 master 分支中得到修复。 以下是 1.9 中按组件修复的所有工单

下载

您可以将 jQuery UI 1.9 里程碑 8 - 位置版本下载为 zip 文件或通过 git 获取。

文件下载

Git

如何提供反馈

wiki 页面

要帮助测试位置实用程序,请访问我们 开发和规划 wiki 上的 位置页面

论坛

如果 wiki 页面上的评论部分没有足够的空间供您提供反馈,请发布到 开发 jQuery UI 论坛 并标记帖子

如何贡献代码

如果您对位置实用程序有代码更改,请在 GitHub 上分叉 jQuery UI 并提交拉取请求。

如果您不熟悉 git 或 GitHub,请参阅我们的指南:如何向 jQuery UI 提交修复 - 简单方法

评论

注意:请不要使用此博客文章的评论部分来对位置实用程序提供反馈。 此讨论应在 wiki 页面和论坛上进行(请参阅上面的“如何提供反馈”)。

如果您对我们发布第八个里程碑版本有任何反馈,请随时在下面留言。谢谢。

jQuery UI 1.8.20

发布日期 作者

jQuery UI 1.8 的第二十个维护版本已经发布。此更新为 Datepicker、Draggable 和 Sortable 带来了错误修复,以及修复了构建流程中的一些问题。有关更改的完整列表,请参阅 变更日志。您可以在这里下载它

下载

文件下载

Svn(包含与 zip 中相同的最终文件,其中 @VERSION 已替换为 1.8.20,所有主题)

Git(包含源文件,其中 @VERSION 尚未替换为 1.8.20,仅包含基本主题)

Google Ajax 库 API(CDN)

Microsoft Ajax CDN(CDN)

自定义下载构建器

变更日志

请参阅 1.8.20 升级指南,了解从 1.8.19 升级时可能影响您的更改列表。有关此版本中包含内容的完整详细信息,请参阅 1.8.20 变更日志

感谢

感谢所有帮助发布此版本的人员,特别是:Bertjh、G Karunakar、Jason Moon、jiliwi、martinkoutny、Scott González、TJ VanToll。

评论

注意:请不要使用此博客文章的评论部分来报告错误。 错误报告应提交到 jQuery UI 错误跟踪器,支持问题应发布到 jQuery 论坛

如果您对我们发布 jQuery UI 1.8 的第二十个维护版本有任何反馈,请随时在下面留言。谢谢。

jQuery UI 1.8.19

发布日期 作者

jQuery UI 1.8 的第十九个维护版本已经发布。此更新为 Autocomplete、Button、Datepicker、Mouse、Position、Resizable、Sortable 和 Tabs 带来了错误修复。有关更改的完整列表,请参阅 变更日志。您可以在这里下载它

下载

文件下载

Svn(包含与 zip 中相同的最终文件,其中 @VERSION 已替换为 1.8.19,所有主题)

Git(包含源文件,其中 @VERSION 尚未替换为 1.8.19,仅包含基本主题)

Google Ajax 库 API(CDN)

Microsoft Ajax CDN(CDN)

自定义下载构建器

变更日志

查看 1.8.19 升级指南,了解从 1.8.18 升级时可能影响您的更改列表。有关此版本中包含内容的完整详细信息,请查看 1.8.19 变更日志

感谢

感谢所有帮助发布此版本的人,特别是:acme、Amir E. Aharoni、ArtemGovorov、Bertjh、Corey Frang、drumrock、ergec、felix、Gilmore Davidson、gromo、gw128、Harri Kilpiö、Jasvir Nagra、jngeist、Jörn Zaefferer、kswedberg、Lado Lomidze、lalalamoo、Licensed to Gil、Mamen、mdibbets、meh-cfl、paulscheltema、quasipickle、rdworth、Richard D. Worth、Rick Waldron、Scott González、sexconker、Simon、stojce。

评论

注意:请不要使用此博客文章的评论部分来报告错误。 错误报告应提交到 jQuery UI 错误跟踪器,支持问题应发布到 jQuery 论坛

如果您对我们为 jQuery UI 1.8 进行第十九次维护版本有任何反馈,请随时在下方留言。感谢您。

jQuery UI 1.9 里程碑 7 – 手风琴

发布于 作者

jQuery UI 1.9 的第七个里程碑版本发布了。距离我们上次里程碑版本发布已经过去七个月了,我们有很多改进和错误修复要分享。最值得注意的是,手风琴小部件的重新设计已经完成。

什么是里程碑版本?

里程碑版本可以让您更轻松地试用最新的 jQuery UI 开发代码,而不必从 GitHub 中检出代码。

使用里程碑版本,您可以试用那些已经相当完善的新小部件(尽管还没有最终定稿),并根据特定版本号的已发布代码提供反馈。

手风琴

手风琴的重新设计现已完全实现。我们终于有了非常稳定的动画,没有更多内容下方闪烁或跳动。ARIA 的实现也得到了很大改善。对 Hans Hillen 的贡献表示衷心的感谢。

菜单

菜单现在支持除 UL/LI 元素之外的其他标记。对禁用菜单项的支持也得到了很大改善。

大量的错误修复

许多组件都进行了大量的错误修复。虽然我们继续维护 1.8 分支,但很多错误只在 master 分支中得到修复。 以下是 1.9 中按组件修复的所有工单

下载

您可以将 jQuery UI 1.9 里程碑 7 – 手风琴版本下载为 zip 文件或通过 git 下载

文件下载

Git

如何提供反馈

wiki 页面

要帮助测试手风琴小部件,请访问我们 开发与规划维基 上的 手风琴页面

论坛

如果 wiki 页面上的评论部分没有足够的空间供您提供反馈,请发布到 开发 jQuery UI 论坛 并标记帖子

如何贡献代码

如果您对手风琴小部件有代码更改,请在 GitHub 上为 jQuery UI 创建分支 并提交拉取请求。

如果您不熟悉 git 或 GitHub,请参阅我们的指南:如何向 jQuery UI 提交修复 - 简单方法

评论

注意:请不要使用此博文帖子的评论区来反馈手风琴小部件。 这项讨论应该在维基页面和论坛上进行(见上文的“如何提供反馈”)。

如果您对我们进行第六次里程碑版本发布有任何反馈,请随时在下方留言。感谢您。

jQuery UI 1.8.18

发布于 作者

jQuery UI 1.8 的第十八次维护版本发布了。此更新为手风琴、自动完成、按钮、日期选择器、对话框、可拖动、定位、可调整大小、滑块、可排序和选项卡带来了错误修复。有关更改的完整列表,请查看 变更日志。您可以从这里下载

下载

文件下载

Svn(包含最终文件,与 zip 中的文件相同,@VERSION 已替换为 1.8.18,所有主题)

Git(包含源文件,@VERSION 尚未替换为 1.8.18,仅限基础主题)

Google Ajax 库 API(CDN)

Microsoft Ajax CDN(CDN)

自定义下载构建器

变更日志

查看 1.8.18 升级指南,了解从 1.8.17 升级时可能影响您的更改列表。有关此版本中包含内容的完整详细信息,请查看 1.8.18 变更日志

感谢

感谢所有帮助发布此版本的人,特别是:2of11、bmonty、chrissmithet、clear、demimurych、Douglas、espen、gruber76、jdmarshall、jerone、Jörn Zaefferer、juancar74、kbwood、klev、LaurentGoderre、levushka、lucidwayn、Mamen、mereth、mesoconcepts、meyerovb、mikemccaughan、mikeschuld、N3RD、nickolay8、oxez、PatrickM、paul、pstadt、Richard D. Worth、Rick Waldron、runatServer、ryanolton、Scott González、SpoonNZ、stojce、TJ VanToll、tjcrowder、tshinnic、zuckel。

评论

注意:请不要使用此博客文章的评论部分来报告错误。 错误报告应提交到 jQuery UI 错误跟踪器,支持问题应发布到 jQuery 论坛

如果您对我们为 jQuery UI 1.8 进行第十八次维护版本发布有任何反馈,请随时在下方留言。感谢您。

jQuery UI 1.8.17

发布于 作者

jQuery UI 1.8 的第十七个维护版本已经发布。此更新带来了针对手风琴、自动完成、按钮、日期选择器、可拖放、定位、进度条、可选择、可排序、选项卡和 CSS 框架的错误修复。1.8.17 版本还带来了对 jQuery 1.7.1 的支持。有关更改的完整列表,请参阅 变更日志。您可以在此处下载它

下载

文件下载

Svn(包含与 zip 中相同的文件,@VERSION 替换为 1.8.17,所有主题)

Git(包含源文件,@VERSION 尚未替换为 1.8.17,仅包含基本主题)

Google Ajax 库 API(CDN)

Microsoft Ajax CDN(CDN)

自定义下载构建器

变更日志

有关从 1.8.16 升级时可能影响您的更改列表,请参阅 1.8.17 升级指南。有关此版本中包含内容的完整详细信息,请参阅 1.8.17 变更日志

感谢

感谢所有帮助发布此版本的人,特别是:azomazo、bikeshedder、celtric、cfjedimaster、Corey Frang、David De Sloovere、Gaëtan Muller、ghostd、hunter1728、igor milla、Jason Oster、Kris Borchers、Mamen、maxbarbul、Michael P. Jung、Michel Weimerskirch、millermedeiros、Richard D. Worth、ruskom、Scott González、shnitz、sslotsky、stojce、ToastBusters、TomWolk、ts2do、tucan26、TylerRick、vegancorr2、William Griffiths。

评论

注意:请不要使用此博客文章的评论部分来报告错误。 错误报告应提交到 jQuery UI 错误跟踪器,支持问题应发布到 jQuery 论坛

如果您对我们发布 jQuery UI 1.8 的第十七个维护版本有任何反馈,请随时在下面发表评论。谢谢。

jQuery UI 网格的状态

发布于 作者

我们在 2 月份 宣布了网格项目。从那时起,我们完成了前三个阶段,现在正在开始第四个阶段。在这篇文章中,我们将看看到目前为止我们构建了什么。

网格

这是我们设计为“零功能网格”的东西。它所做的只是增强 HTML 表格,但它在做得很好同时提供了各种其他功能的正确钩子,这些功能可以添加到它之上。事实证明这非常有用,因为有很多事情是普通 HTML 表格做不到的。使用网格,您将获得

  • 使用 CSS 框架进行样式设置,使其成为 ThemeRoller 就绪的
  • 一个基于表格标题的适当标题栏
  • 表格主体滚动所需的标记和样式,同时保持标题固定

网格的 API 控制渲染什么内容以及如何呈现

  • columns 选项指定要渲染的列。如果未指定,它将选取现有的表格标题元素。
  • rowTemplate 选项允许网格从自定义模板渲染每一行。如果未提供此选项,则每行将根据 columns 选项生成。
  • source 选项指定要渲染的内容,以对象数组的形式。如果未指定,则使用现有的表格行。
  • 默认情况下,网格的主体随着行数的增加而增长。使用 heightStyle: 'fill',它会保持固定高度,如果存在更多行,则主体将开始滚动。
  • 从现有的表格标题中获取列信息时,将读取某些 data-attributes。网格本身只使用 data-property 属性(以及每个标题单元格的实际文本),但 dataFields 选项指定其他组件可以使用的一些其他属性,例如“type”、“culture”和“format”来配置本地排序和过滤。如果网格插件处理其他 data attributes,将这些属性添加到 dataFields 选项中会使它们作为 columns 选项的一部分自动可用。

到目前为止,我们只有 一个增强的表格,但很多时候,网格需要从某个远程资源获取数据。这就是 Dataview 的用武之地。

Dataview

Dataview 是一个用于检索内容的底层抽象。它有一个用于指定要检索的内容的 API,以及一个 SPI(服务提供者接口),由提供该内容的组件实现。它内置了用于过滤、排序和分页的选项,并且设计使添加更多选项变得容易,例如分组。API 默认情况下是异步的,即使对于本地数据也是如此,这样所有依赖 Dataview 的组件都可以同时使用本地数据和远程数据。

Dataview 只依赖于 Widget 和 Observable(我们将在下面介绍),但不依赖于 Grid。这使得 Dataview 可以用于各种环境。例如,它可以为产品列表提供支持,例如 eBay 或亚马逊上的产品列表,表格呈现形式并不适合。

Dataview SPI 使得从头编写实现以及创建可重用的扩展变得容易。

例如,我们可以使用 自定义 dataview 作为自动完成小部件的输入。相同的数据也显示在输入字段下方的网格中。这演示了 Dataview 如何用于多个表示,其中每个表示都自行决定要显示哪些数据。

至于可重用的扩展,我们目前已经实现了三个

  1. localDataview 获取一个输入数组,并对该数组进行排序、分页和过滤。它使用 Globalize(见下文)来实现本地化数字和日期的过滤和排序。当与表格上的网格结合使用现有内容(不指定 source 选项)时,您将获得 一个完整的 tablesorter
  2. odataDataview 获取一个资源 URL,该 URL 指向一个理解 OData,开放数据协议 的 Web 服务。虽然我们的实现还没有涵盖所有 OData 选项,但您可以使用它来排序、过滤和分页,而无需实现任何自定义请求/响应映射。我们有一个使用基于 OData 的 Netflix API 的 网格示例
  3. preloaderDataview 包装一个 Dataview 并调整分页行为以加载比渲染的更多数据,在预加载另一批数据之前进行本地分页。在这个 Flickr API 幻灯片示例 中,我们预加载了 API 响应和实际图像。这将所有加载推送到后台,允许用户在没有中断的情况下翻页浏览图像。

所有这三个都需要在实际项目中进行测试,然后我们才能认为它们是稳定的。我们也在寻找可能错过的其他 dataview 用例。

Observable

数据绑定目前是较新的 JavaScript 框架中的一个共同主题,有各种竞争解决方案可用。我们还没有一个功能齐全的替代方案,但我们开发了一个底层抽象,它可能会在将来为数据绑定组件提供支持。我们称这个抽象为 Observable。它提供了一个 API,用于对可以被观察的普通 JavaScript 对象和数组进行更改,这些更改可以通过监听每个更改触发的事件来观察。我们设计 Observable 的方法和事件数量非常少,目的是使其在其他环境中轻松实现相同的 API。这些事件是

  • change: 在一个或多个属性更改后在对象上触发。
  • insert: 在插入一个或多个新项后在数组上触发。
  • remove: 在删除一个或多个项后在数组上触发。
  • replaceAll: 在用数组中的所有项进行替换后在数组上触发。

最后一个事件可能乍看起来很奇怪,但这使得创建 dataview、将其传递给网格、让网格订阅该 dataview 输出数组上的事件,然后在 dataview 更新时更新自身成为可能。

对于所有四个事件,Observable 都提供了方法对应物

  • property: 用于处理对象
  • insert、remove 和 replaceAll: 用于处理数组。

用法在两种情况下都一致

  • $.observable(object).property("name", "Fred");
  • $.observable(array).insert({ name: "Peter" });

我们仍在开发 Observable。下一步是为数组绑定找到一个抽象,这将消除网格以及 todo-app 演示 的一些开销。

将 Observable 与网格结合使用时,我们可以轻松地添加编辑功能。在我们的 网格编辑演示 中,您可以向表格中添加、编辑和删除开发人员。结果通过 localStorage 持久化。

与其添加带有“编辑”和“删除”按钮的自定义列,我们可以使用可选择交互来选择一行或多行,然后与所选内容进行交互。在该演示中,selected 数组也是一个可观察数组,第二个网格显示了它。请注意,您可以在一页上选择行,然后转到下一页(您可能需要添加几个开发人员才能显示第二页),使用命令/ctrl-单击(以扩展选择范围)选择更多行,它将在第二个网格中显示所有这些行。选择状态与视觉表示分离,使得跨多个页面进行选择变得非常容易。

Globalize

Globalize 最初是作为 jquery-global 插件开始的。我们将其作为网格项目的一部分重新编写,使其独立于 jQuery,允许在客户端和服务器上使用。我们的 localDataview 实现(如上所述)使用它,它也位于自定义输入之后,例如SpinnerTimepicker

MaskTimepickerSelectmenu

这三个自定义输入正在作为网格项目的一部分开发。它们旨在用于网格中的内联编辑,以及在常规表单或网站中独立使用。我们即将在 master 中发布所有这三个,以便将它们作为 1.9 的一部分发布。

还有更多…

我们仍在继续进行TemplateDatepicker 和其他Custom Inputs 的工作。一旦我们拥有更稳定的解决方案,我们将对这些解决方案进行汇报。

接下来

我们正在完成现有的组件,并开始 Stage 4。有关详细信息,请查看主要的网格 wiki 页面

那么,什么时候完成呢?

我们的Roadmap 将网格放在 2.1 版本中,而 jQuery UI 的主要重点是 1.9。换句话说,在我们能够将网格放入稳定版本并与所有其他组件一起支持它之前,还有很多事情要做。同时,我们鼓励您现在就开始测试上面列出的功能。网格、Observable 和 Dataview 非常稳定并且运行良好。Globalize 是一个单独的项目,如果您想在客户端支持本地化数字和日期处理,现在应该开始使用它。

我们重视您的意见和帮助。请使用Developing jQuery UI 论坛,评论单个 wiki 页面或访问我们的 IRC(#jqueryui-dev 在 Freenode 上)。如果您找到了某个问题的解决方案,请发送一个 pull 请求

jQuery UI 1.9 里程碑 6 – Spinner 2

发布日期 作者

jQuery UI 1.9 的第六个里程碑版本已经发布,其中包含 Spinner 小部件的许多更新。此版本还包括对现有和小部件的更新和错误修复,这些更新和错误修复不会进入 1.8.x 版本。

什么是里程碑版本?

里程碑版本可以让您更轻松地试用最新的 jQuery UI 开发代码,而不必从 GitHub 中检出代码。

使用里程碑版本,您可以试用那些已经相当完善的新小部件(尽管还没有最终定稿),并根据特定版本号的已发布代码提供反馈。

注意:由于代码仍在积极开发中,因此 API 可能会发生变化。

Spinner

Spinner API 已更新了一些新功能和错误修复。请查看规划 wiki 获取文档。

菜单

菜单现在可以更好地处理子菜单。

位置

Position 现在有一个 within 选项,允许您使用除了窗口之外的其他内容进行碰撞检测,例如滚动 div。碰撞检测本身变得更加智能,并具有一个新的模式:flipfit。

下载

您可以下载 jQuery UI 1.9 里程碑 6 – Spinner 2 版本作为 zip 文件或通过 git

文件下载

Git

如何提供反馈

wiki 页面

要帮助测试 Spinner 小部件,请访问我们开发和规划 wiki 上的Spinner 页面

论坛

如果 wiki 页面上的评论部分没有足够的空间供您提供反馈,请发布到 开发 jQuery UI 论坛 并标记帖子

如何贡献代码

如果您对 Spinner 小部件有代码更改,请分叉GitHub 上的 jQuery UI 并提交一个 pull 请求。

如果您不熟悉 git 或 GitHub,请参阅我们的指南:如何向 jQuery UI 提交修复 - 简单方法

评论

注意:请不要使用此博文帖子的评论部分来反馈 Spinner 小部件。此讨论应在 wiki 页面和论坛上进行(见上面的如何提供反馈)。

如果您对我们进行第六次里程碑版本发布有任何反馈,请随时在下方留言。感谢您。

Dialog API 重设计

发布日期 作者

在继续进行 API 重设计的同时,我们也计划对 Dialog 小部件进行一些更改。我们知道,像这样的 API 更改并非没有成本,因此我们希望明确表示,除了特别说明的地方外,jQuery UI Dialog 在 1.9 中将继续支持 1.8 API,并且弃用的 API 将不会在 jQuery UI 2.0 之前移除。阅读有关完整jQuery UI API 重设计 的更多信息。

API 重设计

在对话框中包含焦点
我们目前只在模态对话框中包含焦点。我们将改变此行为,始终包含焦点,即使在非模态对话框中也是如此。这将使我们更符合DHTML 样式指南。我们不确定是否要实现一个用于将焦点移出对话框的键命令(例如 F6),因为这将需要定义一个系统来跟踪焦点应该移动到哪里。

允许禁用对话框
对话框目前不支持被禁用。它们确实继承了添加 ui-state-disabled 类别的默认行为,这使得对话框看起来已禁用,但用户仍然可以与对话框中的元素进行交互。为了支持禁用对话框,我们将在对话框上放置一个 div 以阻止鼠标交互。

能够配置哪个元素获得焦点
打开对话框时,我们会搜索哪些元素是可制表符的,然后我们会找到第一个元素并将其聚焦。如果没有可制表符元素,那么我们会将对话框本身聚焦。我们将添加一个 autoFocus 选项,它将允许自定义哪个元素获得焦点。该选项将接受一个函数,该函数将返回要聚焦的元素。该选项的默认值为当前实现。如果使用该选项没有找到任何元素,则将聚焦对话框。

在销毁时将对话框移回原始 DOM 位置
创建对话框时,它们会移动到正文的末尾。当对话框被销毁时,它们目前会停留在正文的末尾。我们将改变此行为,以便在可能的情况下,对话框会返回到原始位置。这将通过在创建时跟踪一个兄弟节点或父节点来完成。

自动堆叠
stack 选项控制对话框在获得焦点时是否会移动到其他对话框的顶部。由于这种情况应该始终存在,我们将删除该选项并强制执行此行为。此外,我们可能会删除 moveToTop 方法,因为应该始终可以通过用户打开对话框的时间以及它们是模态还是非模态来让用户访问正确的对话框。

更合理的模态
当前用于管理模态对话框的实现有点笨拙,它会比较元素的 z-index 并且经常会导致问题。我们计划简化实现,并切换到基于层次结构的解决方案,而不是基于样式的解决方案。

反馈

我们希望听到您对这些更改的反馈。我们希望确保在最终确定和实施这些更改之前解决社区可能遇到的任何问题。如果您有任何反馈,请在相关的论坛帖子 上发布。谢谢。

jQuery UI 1.8.16

发布日期 作者

jQuery UI 1.8 的第十六个维护版本已经发布。此更新带来了对 Button、Datepicker、Dialog、Draggable、Droppable、Effects、Mouse 和 Widget Factory 的错误修复。有关更改的完整列表,请参阅变更日志。您可以在此处下载它

下载

文件下载

Svn(包含最终文件,因为它们位于 zip 文件中,其中 @VERSION 已被替换为 1.8.16,所有主题)

Git(包含源文件,其中 @VERSION 尚未被替换为 1.8.16,仅包含基本主题)

Google Ajax 库 API(CDN)

Microsoft Ajax CDN(CDN)

自定义下载构建器

变更日志

请参阅 1.8.16 升级指南,了解从 1.8.15 升级时可能影响您的更改列表。有关此版本中包含内容的完整详细信息,请参阅 1.8.16 更新日志

感谢

感谢所有帮助发布此版本的人,特别是:Andreas Pelme、ash、brazir、Corey Frang、dalugadm、danheberden、fracmak、jabouillei、Jay Merrifield、jbblanchet、joekarl、Jörn Zaefferer、Karl Kirch、kborchers、Krinkle、maxpayne、rdworth、rubyruy、Scott González。

评论

注意:请不要使用此博客文章的评论部分来报告错误。 错误报告应提交到 jQuery UI 错误跟踪器,支持问题应发布到 jQuery 论坛

如果您对我们发布 jQuery UI 1.8 的第十六个维护版本有任何反馈,请随时在下方留言。谢谢。