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

性能改进

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

以下所有性能改进的数据和测试用例都可以在以下 jQuery 1.2.3 与 1.2.6 的 Google 电子表格 中找到(由于 Internet Explorer 6 和 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())中感受到。

新功能和重大更改

尺寸插件现在是核心的一部分

Brandon Aaron 开发的 Dimensions 插件的剩余方法已引入 jQuery 核心,并附带其他错误修复和性能改进。此插件在开发人员和插件作者中得到了相当广泛的使用,并已成为 jQuery 生态系统中不可或缺的一部分。在过去的几个版本中,我们一直在慢慢地引入 Dimensions 插件中最常用的方法 - 但随着 1.2.6 版本的发布,所有剩余的方法现在都是核心的一部分。

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

Dimensions 的完整文档可以在 jQuery API 文档网站 上找到(目前正在将其与 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.5b4,包含效果和新主页

发布于 作者

jQuery UI 1.5b4

注意:我们最初打算在几个小时前发布 1.5b3,但我们遇到了两个严重的问题,迫使我们将其废弃并发布 b4。对由此造成的不便,我们深感抱歉。

jQuery UI 1.5 的第三个也是最后一个测试版终于发布了。为了这次版本,我们投入了数百个小时来修复超过 50 个错误 - 它完全是为了稳定性。jQuery UI 1.5b4 是在发布候选版本之前发布的最后一个版本 - 并且只剩下 5 个主要错误,您可以在接下来的几天内看到下一个版本发布!

尽管它主要是一个稳定性版本,但我们还引入了许多新的 API 助手删除了尺寸依赖项,并通过在核心代码中引入通用的小部件工厂,使所有插件都变得更小。更棒的是,UI 组件触发事件(例如,拖放元素中的“mousemove”)的性能,在 jQuery 核心最近的更改中得到了显著提升。

随着候选版本的紧随其后,我们还将推出一个实时测试套件,供每个人在任何平台上使用,帮助我们跟踪问题并为最终版本修复它们。是的,这意味着您可以期待在本月发布一个稳定、可靠且经过性能优化的 1.5 版本!

获取整个包(此包还包含您需要的自定义构建的 jQuery)

jquery.ui-1.5b4.zip

jQuery Enchant 成为 jQuery UI 的一部分

经过数周的讨论,我特别高兴地宣布,之前作为 jQuery UI 姊妹库引入的未发布的 jQuery 效果套件“Enchant”现在是jQuery UI 的一部分。在 1.5b4 版本中,您将在项目的文件夹中看到一堆新的文件!

jQuery UI 效果可以独立使用,也可以与 UI 一起使用,并且有一个独立的核心,它扩展了 jQuery 核心以引入缓动、类转换(变形)颜色动画。所有其他效果都紧密集成到主 API 中,可以独立使用($(..).effect())或直接从您已知的 jQuery 方法中使用(hide()/show())。

目前还没有关于丰富的效果 API 的文档,但我们会确保在 jQuery UI 1.5 的最终版本发布之前发布它。在此期间,请随时开始深入研究代码 - 并关注更多有关新效果的博客文章!

总的来说,我们有超过 15 种可立即使用的效果供您在项目中使用,不仅包括您从 script.aculo.us 中了解到的所有内容blind,bounce,drop,fold,slide …),而且还包括供您享受的新效果(transfer, explode. clip, scale)!

jQuery UI 有了新家

UI Website

我很高兴地宣布,jQuery UI 终于在 http://ui.jquery.com 找到了新家,并附带全新的内容新的组合徽标和全新的设计。经过数周的反复试验,我们终于抽出时间专注于网站了。

新网站包含一个全新的 下载生成器,其中已包含特效、一个 现实世界中的演示轮播 以及一个 功能演示套件,可以轻松查看和试用 UI 示例及其语法。 未来几周还计划推出一个主题部分,其中包含有关下载 UI 主题以及如何制作主题的说明,以及一个教程部分,其中将提供简单的教程,帮助您轻松学习控制 UI 小部件。

非常感谢 Liferay 的艺术总监 Brian Miller,他付出了巨大的努力,投入了无数的时间,才打造出如此美观的設計!

很快再见!

Paul Bakaus 和 jQuery UI 团队