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 v. 1.2.6 Google 表格 中找到(由于结果几乎相同,因此排除了 Internet Explorer 6 的结果,而选择了 Internet Explorer 7)。

事件处理速度提升 103%

在分析密集的应用程序代码(特别是拖放等操作)时,我们寻找可以进行通用更改的方法,这些更改会影响所有用户。一个经常被调用的代码片段是 jQuery 事件处理程序,对其进行任何优化都会极大地提高所有结果频繁调用事件的性能。通过专注于这里的改进,您应该看到所有频繁调用的事件立即受益。

CSS 选择器速度提升 13%

对内部 jQuery 方法进行了一些优化,极大地提高了它们的性能,并为 jQuery 中一些最常用的代码(例如 CSS 选择器代码)带来了可衡量的收益。

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

.offset() 速度提升 21%

与 .offset() 代码的改进一起,密集的鼠标操作变得更快。例如,jQuery UI 的拖放代码由于这些更改现在速度提升了 300% 以上(让您能够实现更快、更流畅的拖放操作)。

.css() 速度提升 25%

这是一个经常被调用的方法(内部和外部)。对该方法的优化很容易在其他方法中感受到(例如 .offset())。

新功能和主要变更

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

Brandon Aaron 的尺寸插件的剩余方法已被引入 jQuery 核心,并附带了额外的错误修复和性能改进。这个插件在开发者和插件作者中得到了广泛的应用,并已成为 jQuery 生态系统的重要组成部分。在过去的几个版本中,我们一直在逐步引入尺寸插件中最常用的方法——但随着 1.2.6 版本的发布,所有剩余方法现在都是核心的一部分。

如果您正在升级您的 jQuery 副本到版本 1.2.6,您可以选择从您的代码中排除尺寸插件。

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。对于造成的不便,我们深表歉意。

第三个也是最后一个 beta 版本终于发布了 jQuery UI 1.5。为了这个版本,我们花费了数百小时修复了超过 50 个错误 – 重点在于稳定性。jQuery UI 1.5b4 是发布候选版本之前的最后一个版本 – 并且只有 5 个主要错误,您可以预计在未来几天内看到下一个版本!

虽然它主要是一个稳定性版本,但我们还引入了许多新的 API 辅助函数移除了对 dimensions 的依赖,并通过引入通用的 widget 工厂到核心中,使所有插件都更小。 更好的是,jQuery 核心的近期更改极大地提高了 UI 组件触发事件(例如 Draggables 中的“mousemove”)的性能。

随着紧随其后的发布候选版本,我们还将发布一个实时测试套件,供大家在任何平台上使用,帮助我们追踪问题并修复它们以获得最终版本。 是的,这意味着您可以期待这个月发布一个稳定、可靠且性能优化的 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 团队