jQuery UI 1.5.1

发布于 作者

在 jQuery UI 1.5 发布后不久,我们收到了许多有用的反馈,并且在我们的错误追踪器中输入了问题。今天,我们很高兴发布另一个版本的 jQuery UI,它解决了许多次要回归和许多未解决的问题。

1.5.1 没有添加任何新功能或 API 更改,但修复了 50 多个已发现的问题。如果您想了解具体内容,可以查看 完整的更改日志。强烈建议您更新到此版本,并且可能不会破坏您编写的代码中的任何内容。

此外,还报告并修复了 ThemeRoller 和我们主页上的演示中的问题。我们现在正在继续完成所有单元测试和功能演示,因此预计很快将再次发布 UI 及其网站的另一个版本。

您始终可以通过下载器或开发人员包从 http://ui.jquery.com/download 获取最新版本,或者如果您愿意,也可以从 Subversion 获取最新标签。

很快再见。

Paul Bakaus 和 jQuery UI 团队

宣布举办 2008 年 jQuery 营

发布于 作者

jQuery 团队很高兴地宣布第二届年度 jQuery 营!2008 年 jQuery 营将于9 月 28 日(星期日)在马萨诸塞州波士顿举行(地点待定),这是 Ajax 体验的前一天。

去年,超过 100 名 jQuery 开发人员聚在一起,参加了一整天的 jQuery 会议,包括 jQuery 创建者 John Resig 和其他核心团队成员的演讲,以及专家用户探索新颖且令人兴奋的 jQuery 项目的演讲。它汇集了有史以来规模最大的 jQuery 核心团队成员群体,并为用户提供了向他们请教并提出新想法的机会。

该活动取得了*显而易见*的成功,今年的营地承诺将更加精彩。

2008 年 jQuery 营将提供两条路线,提供入门和高级课程,涵盖各种主题。Ajax 开发、mashup、安全以及最近发布的 jQuery UI 组件和效果库只是已经排队的主题中的一部分。

2008 年 jQuery 营将收取每人 50 美元的象征性费用,其中包括午餐。参加者无需注册 Ajax 体验即可参加。报名将于 7 月开放;请关注 jQuery.com 获取更多详细信息!

对于参加 Ajax 体验的人员,活动组织者最近宣布了在 9 月 29 日的会议中心为额外的 jQuery 会议预留半天时间。议程仍在制定中,但我们正在考虑提供一个“梦之队代码审查”会议,用户可以在该会议中让 jQuery 团队成员审查他们的代码。我们很想知道您的反馈意见;您会参加这个会议吗?

2008 年 jQuery 营是一个真正绝佳的机会,可以向 jQuery 团队学习,并与顶尖的 jQuery 开发人员交流;我们期待与大家见面!

九月份见。

发布 jQuery UI v1.5,重点关注一致的 API 和效果

发布于 作者
我们最近发现下载构建器存在一个问题,导致它提供缓存的 1.5rc1 文件而不是最终的包。对于由此造成的不便,我们深表歉意,并强烈建议您重新下载 jQuery UI 1.5(如果您将其下载为配置后的包)。

此外,还在 ThemeRoller 中发现了一个问题,导致下载的图像在大多数情况下为默认图像。该问题现已修复,我们还建议您重新尝试下载您的主题。

jQuery UI 1.5:重新思考我们对 UI 的方法

ws_Path_of_Light_1024x768.jpg

当我们最初开始 UI 项目时,我们的目标是构建一种通用、基本且简单的方法,用于将核心交互添加到 DOM 元素。但是,我们很快发现我们的方法不适合 UI。使用“简单”方法,我们只能提供简单的交互模块,而不能提供功能齐全的 UI 小部件。第二个问题是,一些插件来自外部来源,这使得 UI 套件显得支离破碎且不一致。

所有这些都发生在我们发布 1.0 之后,我们立即意识到是时候重新考虑我们的道路了。我们必须找到一种方法,在保持jQuery 的简洁性的同时,使向 UI 添加功能齐全的小部件成为可能。我们还已经知道,非常易于使用的东西非常具有挑战性。第一项任务是构建一个通用 API,该 API 允许最大程度的灵活性,同时保持惊人的简单性。下一项任务是使为该 API 开发插件同样简单。

一个 API 统治所有

我们想到的 API删除了我们 95% 的公开方法,并且每个插件只保留一个单一重载方法。例如

  • $(“div”).draggable() 创建一个可拖动元素
  • $(“div”).draggable(“destroy”) 销毁它
  • $(“div”).draggable(“method”) 在插件上调用另一个方法。

新的 API 还使所有回调的行为相似,公开了每个插件的默认选项,并使用 remove() 智能地清理插件。我们还使其能够动态更新插件选项,并添加了一些较小的更新,使 UI 感觉像一个套件。

为了实现这一点,我们删除了 jquery.dimensions.js(现在可以在 jQuery 核心代码中找到)、ui.mouse.js 和 *.ext.js 依赖项引入了 ui.core.js(其中包含许多有用的助手)并创建了 jQuery UI 小部件工厂,这使得为 UI 创建新的插件非常简单,同时使其很难破坏 API。

稳定性、调试、测试和 jquery.simulate

jQuery UI v1.5 不仅功能丰富,而且稳定,这一点至关重要。我们采取了一些措施来极大地改进我们的调试和测试,包括设置我们自己的专用错误追踪器,其中包含特定于 jQuery UI 的版本和里程碑目标。我们还在新的单元测试 (存档) 上投入了大量时间,这些单元测试利用了 jQuery 测试套件 QUnit。最后,我们创建了jquery.simulate.js,这是一个专门设计用于触发真实浏览器事件的插件。这意味着,您实际上可以告诉插件拿起您的可拖动元素,将其移动到特定位置并再次释放它,就像您与真正的测试人员交谈一样。

对效果的需求:Enchant 登场

能够退一步,其中一个好处是可以从完全不同的角度看待功能齐全的 UI 解决方案应该提供什么。虽然 jQuery UI v1.0 目前提供了一套不错的 UI 控件,但用户需要像 script.aculo.us 和 jQuery UI 以前灵感来源Interface等库提供的可靠效果。不幸的是,Interface 已经不再更新,这在效果方面留下了一些空白;因此,一个名为“Enchant”的新项目诞生了。最初计划将其作为 jQuery 和 jQuery UI 的补充库发布,我们意识到将 Enchant 与 jQuery UI 合并是有意义的,这使得用户可以轻松访问一个解决方案中的高级效果和 UI 控件。

我们很高兴地宣布Enchant 现在是 jQuery UI 的一部分,jQuery 用户现在拥有一个统一的解决方案,可以满足他们的效果和 UI 需求。jQuery UI 效果可以单独使用,也可以与 UI 结合使用,并具有一个独立的核心,该核心扩展了 jQuery 核心以引入高级缓动、类转换(变形)颜色动画。所有效果都与主 API 紧密集成,可以作为独立使用($(..).effect() ),也可以直接从您已知的 jQuery 方法中使用(hide()/show())。

总的来说,我们已经为您提供了超过 15 种现成的效果,供您在项目中使用,不仅包括script.aculo.us 提供的那些效果blind,bounce,drop,fold,slide …),还有新颖的效果(transfer, explode. clip, scale),这些效果使 jQuery UI 成为一个很棒的库,可以增强您的应用程序!

正如我们在最后一篇博文中承诺的那样,它附带了完整文档组合演示页面,让您看到它们在实际中的效果。
themeRoller_ui_full.png

自己制作主题:ThemeRoller!

用户在使用新的 UI 控件时通常想要做的第一件事是“美化”它们,使其与他们网站的配色方案相匹配。显然,当您拥有来自不同来源的 UI 控件时,在所有控件中提供一致的“主题”的能力变得更加困难,因为大多数组件作者都有自己的方法来美化其控件。我们认真研究了这一点,并将拥有用户可以将其用作定制 jQuery UI 小部件集的模板的一致默认主题作为优先事项。
我们联系了位于波士顿的 Filament Group,寻求他们的帮助,他们对此表示赞同。他们对 jQuery 的投入很大,将此视为进一步帮助该项目的一个绝佳机会。好吧,从讨论一个单一的默认主题开始,很快就发展成为 jQuery UI 的杀手级应用;ThemeRoller

ThemeRoller 提供了一种独特的方法来为 UI 组件设置主题,该方法专门为 jQuery UI 而构建。使用 ThemeRoller,您可以在几分钟内为您的项目创建您自己的主题。它完全直观,带有丰富的控件,可以更改每个状态的颜色和设计,然后在您工作时使用实际的 UI 组件预览您的主题

您现在可以从数百万种组合中进行选择。您创建的任何主题都可以通过在进度中的任何时间复制 URL 来访问;在您玩得够多了之后,您可以单击下载按钮,系统会生成一个包含 CSS 文件、图像和演示页面的ZIP 包

此外,ThemeRoller 还包含一个主题库,用于浏览下载和灵感。为您的应用程序创建主题再简单不过了;它就是如此神奇。
我们衷心感谢Filament Group的才华横溢的团队,他们创造了这款出色的应用程序。

顺便说一下,您也可以通过以下直接 URL 访问 ThemeRoller:ThemeRoller.org。如果您想了解更多关于这款出色的应用程序及其工作原理的信息,请访问Filament Group 的精彩博客文章!(存档

插件稳定性和增强功能

最大的改进和改变是在各个插件代码上完成的。几乎每个插件都从头开始完全重写,以优化稳定性和性能,并且每个插件现在都附带错误变更日志。我们还专注于增强选项和提高灵活性(例如,将排序功能与拖放功能连接),以使我们的插件几乎可以在所有环境中使用。

要全面了解 jQuery UI 组件的所有增强功能,最佳方法是查看变更日志。它相当全面,表明了 UI 团队付出了巨大的努力。在不久的将来,我们将发布文章和帖子来概述 UI 组件的最新功能。在此期间,建议您阅读我们的关于 jQuery UI 1.5b 的博客文章,其中解释了许多鼠标交互更改(可排序、可拖动、滑块),并自行浏览文档变更日志

下载

jQuery UI v1.5

最终发布版:http://ui.jquery.com/download

您还可以从Subversion 仓库签出 jQuery UI v1.5 的完整发布版。

还有更多内容!

coverflow.png

这确实是令人惊叹的努力,我们很自豪能够为 jQuery 社区提供全面的 UI 解决方案。

我们已经开始计划下一个版本,并制定了一个庞大的路线图,其中包含网格、工具提示、菜单、颜色选择器、自动完成等插件。其中许多插件已经在代码层面上完成并提交。我们还计划使用 Webkit 的 CSS 变换等新技术开发插件(参见最近发布的coverflow 插件),敬请关注。

如果没有jQuery UI 团队的出色努力和奉献,这一切都无法实现。他们奉献了大量个人和职业时间来创建这个出色的库,他们应该为他们的辛勤工作获得大量赞誉。我们还要感谢 jQuery 核心团队,我们与他们紧密合作,将许多必要的功能集成到 jQuery 核心本身。

最后但同样重要的是,我们要特别感谢Liferay员工,他们为新的 UI 网站的开发投入了无数的时间,并且我们与他们紧密合作,为各种企业环境稳定 jQuery UI。

感谢您的支持!

Paul Bakaus 和 jQuery UI 团队

jQuery 1.2.6:事件速度提高 100%

发布于 作者

jQuery 1.2.6 主要是一个针对jQuery 1.2的错误修复版本。您可以在错误追踪器上查看修复内容的完整列表。

这是紧随 jQuery 1.2.3 之后的下一个版本。版本 1.2.4 和 1.2.5 被跳过(1.2.4 构建不正确,实际上与 1.2.3 相同,而 1.2.5 缺少补丁)。

整个 jQuery 团队在发布这个版本方面做得非常出色。我要借此机会感谢他们所有人的持续努力。

我还要借此机会欢迎 Ariel Flesler 加入 jQuery 核心开发团队。他在发布这个版本方面提供了宝贵的帮助,包括贡献错误修复、性能改进、功能和测试用例。您可以看到他的辛勤工作在这个版本中的体现。欢迎 Ariel,感谢他对这个版本做出的贡献!

下载

jQuery 1.2.6

如果您想从Subversion 仓库签出完整版本,您可以按照说明从以下位置签出源代码

svn co http://jqueryjs.googlecode.com/svn/tags/1.2.6

性能改进

jQuery 团队再次努力在这个版本中带来了巨大的性能改进。与以前版本一样,我们扩展了对 jQuery 框架的许多领域的分析,寻找常见的痛点,并提供解决方案。

以下性能改进的所有数据和测试用例都可以在以下jQuery 1.2.3 与 1.2.6 的 Google 电子表格中找到(为了与 Internet Explorer 7 的结果几乎完全相同,排除了 Internet Explorer 6 的结果)。

事件处理速度提高 103%

在分析密集型应用程序代码(特别是拖放操作)时,我们寻找可以进行通用更改的方式,这些更改会影响所有用户。经常调用的一段代码是 jQuery 事件处理程序,对其进行任何优化都会极大地提高所有由此产生的经常调用事件的性能。通过专注于此处的改进,您拥有的所有经常调用事件都应该看到直接的好处。

CSS 选择器速度提高 13%

对 jQuery 内部方法进行了一系列优化,极大地提高了它们的性能,同时对 jQuery 中一些最常用的代码(如 CSS 选择器代码)提供了可衡量的益处。

例如,jQuery.map() 方法现在快了 866%,而jQuery.extend() 快了 19%。这两项更改使整个库的性能得到了显著提升。

.offset() 速度提高 21%

与对 jQuery 事件处理代码的改进一起,对 .offset() 的优化使基于鼠标的密集操作变得更快。例如,由于这些更改,jQuery UI 的拖放代码现在快了 300% 以上(使您可以实现更快、更流畅的拖放操作)。

.css() 速度提高 25%

一种经常调用(在内部和外部)的方法。对该方法的优化可以轻松地在其他方法(例如 .offset())中感受到。

新功能和重大更改

Dimensions 插件现在是核心的一部分

Brandon Aaron 开发的 Dimensions 插件的剩余方法已引入 jQuery 核心,并附带额外的错误修复和性能改进。该插件在开发人员和插件作者中得到了广泛使用,并已成为 jQuery 生态系统中的重要组成部分。我们一直在慢慢地将 Dimensions 插件中最常用的方法引入过去几个版本中,但在 1.2.6 版本发布后,所有剩余的方法现在都已成为核心的一部分。

如果您将 jQuery 版本升级到 1.2.6,您现在可以选择从代码中排除 Dimensions 插件。

Dimensions 的完整文档可以在jQuery 文档网站上找到(并且正在与 jQuery 核心文档集成)。

.attr() 大修

.attr() 方法已彻底大修(解决了大约 15 个未解决的错误)。此外,该方法已得到显著简化和优化。

.toggle() 现在可以接受更多函数

历史上,jQuery 的 .toggle() 函数接受两个函数(以偶数/奇数方式切换)。但是,这已经更改,因此可以提供任意数量的函数,并通过鼠标点击切换。

$("div").toggle(function(){
  $(this).removeClass("three").addClass("one");
}, function(){
  $(this).removeClass("one").addClass("two");
}, function(){
  $(this).removeClass("two").addClass("three");
});

您现在可以取消绑定绑定的 .toggle() 和 .one() 函数

function test(){ $(this).addClass("test"); }
$("div").one("click", test);
$("div").unbind("click", test);

$("div").toggle(test, test);
$("div").unbind("click", test);

.index() 支持 jQuery 集合

jQuery 的 .index() 函数允许您查找 DOM 元素在 jQuery 集合中的位置,现在您还可以指定一个 jQuery 集合(其第一个元素将被提取并在原始集合中找到)。

var test = $("div.test");
$("div").index( test ) == 3

jQuery.makeArray 可以将任何内容转换为数组。

jQuery 的内部 .makeArray() 方法现在将任何类似数组的对象转换为新的数组。此外,它将所有其他对象包装为数组,并返回生成的集合。

jQuery.makeArray( document.getElementsByTagName("div") )
// => [ div, div, div ]

jQuery.makeArray( true )
// => [ true ]

jQuery.makeArray()
// => []

beforeSend 可以取消 Ajax 调用

beforeSend Ajax 回调允许开发人员在请求发生之前执行一段代码,现在这段代码还可以验证一些参数的完整性并取消由此产生的 Ajax 请求(对于表单验证等任务很有用)。

$.ajax({
  beforeSend: function(){
    return $("#input").val() == "";
  },
  url: "test.php"
});

公开速度

jQuery 有许多命名的动画速度(例如“slow”、“fast”和“default”),您现在可以通过操作 jQuery.fx.speeds 对象,为动画速度提供自己的名称,或修改现有名称。

jQuery.fx.speeds.slow = 1000;
$("#test").slideDown("slow");

jQuery UI 1.5 发布候选版本,我们感到很兴奋

发布于 作者

jQuery 1.5 发布候选版本现在已在http://ui.jquery.com/download上提供,供所有人测试和下载!

这是迄今为止最稳定的 UI 版本,它修复了所有已知的错误,这些错误不属于“次要”或“琐碎”类别,这意味着我们自己认为它可以正常运行。但是,我们仍然没有发布最终版本的原因是,我们希望您尝试发布候选版本的各个方面。

因此,jQuery UI 团队鼓励您在所有支持的浏览器中尝试网站上的演示,使用您可以找到的每个选项进行操作,并使用我们现在正在完成的新的单元测试在不同的浏览器中进行测试。如果您从网站上获取整个开发包,它将附带滑块、可拖动和可调整大小的单元测试。我们正在研究其他自动化测试,这些测试将在接下来的几天内从我们的 SVN 中下载。

如果您发现任何奇怪的情况,或者某个功能无法正常工作或看起来不正常,那就太好了!:-) 请通过新的 jQuery UI 错误追踪器http://ui.jquery.com/bugs/newticket向我们提交您的问题。这将极大地帮助我们使最终版本尽可能稳定。

现在我们真的不希望您等待比必要时间更长的时间:我很高兴地宣布,jQuery UI 1.5 将于 6 天后的 6 月 8 日发布并宣布,并附带更新的文档和史诗般的变更日志,以说服您的老板和同事。

很快就会见到你!

jQuery UI 团队