jQuery 网站重新设计 - 社区发声

发布日期: 作者:

正如你们中许多人现在已经看到的那样,jQuery 项目的网站已经重新设计。这是一个早就应该完成的任务,为 jQuery 的主要枢纽和门面注入新的活力非常重要。jQuery 项目的一个特点是,我们从不随波逐流,也不接受常态。通过突破界限,有时甚至“直面挑战”,我们不仅在受欢迎程度上大幅增长,还促使大多数其他 JS 库项目重新思考自身的原则,并做出改变以改进自己的产品。这对所有人来说都是好事,因为竞争总是好的。

因此,jQuery 网站的巨大变化应该不足为奇。到目前为止,最大的抱怨集中在新横幅(即摇滚明星漫画和口号)上。同样,我们希望突破界限,想出一些能够引起轰动的东西。总的来说,我们在这方面取得了成功,获得了许多积极的反馈,但不幸的是,也收到了一些非常负面的评论。我们实际上重视两种反馈,并希望获得更多反馈,因为这是确定我们是否走在正轨的唯一途径。就像任何网站重新设计一样,你无法取悦所有人,我们也明白这一点。但我们也希望每个人都明白,这是一个初步的版本,并不意味着它不能进行调整。

我们正在积极审查所有反馈,并将认真考虑如何最好地处理社区的一些担忧。毕竟,社区是让 jQuery 项目如此特别,如此不同于其他项目的关键。此外,jQuery 团队一直都在倾听社区的需求,这次也不例外。再说一遍,我认为该团队的独特之处在于我们确实倾听社区的声音,我们将努力使该网站成为所有人的宝贵工具。所以请给我们一些时间来处理这些信息,并关注此博客以获取更新。
感谢您的耐心等待,我们非常感谢您的反馈。

jQuery.com 网站重新设计

发布日期: 作者:

我们刚刚发布了全新的网站重新设计(适用于 jQuery.com 及其所有子网站)。这是我们期待已久的事情,能够发布它感觉很棒。

新首页

jQuery.com

毫无疑问,重新设计中最具争议的部分——但也绝对是最吸引眼球的部分。

jQuery 长期以来一直受到摇滚乐的驱动,即使追溯到它的 最初发布,该版本也深受始终出色的 Devo 的启发。我们努力打造一个引人入胜的设计,帮助 JavaScript 摆脱它经常身处的冷冰冰的低谷——为它注入一股强大的乐趣。

新网站布局

jQuery Docs

整个网站都采用了新的布局。通过大幅改进的多层导航和标准化侧边栏,导航网站的各个部分应该变得更加容易。

在浏览内部页面时,你可能需要戴上安全帽——字号、间距和颜色都需要调整,这将在未来一周内完成(与 Trac、WordPress、Drupal 和 Mediawiki 同时进行工作很有趣)。

新徽标

jQuery Logo

最初的 jQuery 徽标是 Devo 帽的变体——我们借鉴了这一理念,反其道而行之,创造出了我们自己的徽标——同时仍然受到 Devo 能量穹顶 原有轮廓的启发。

感谢

网站和徽标设计:Scott Jehl——他为这次重新设计投入了大量精力,从构思到最终实现都亲力亲为。

摇滚插画:来自 nGenWorks 的 Varick Rosete,他也是 Happy Webbies 的知名人物。

初始徽标原型设计:Bradley Sepos

还要感谢 Media Temple 为我们提供托管服务。过去一周,他们一直在帮助我们迁移网站到一些新的服务器——预计子域的访问速度很快就会有所提高。

jQuery 大会 2008 注册开放

发布日期: 作者:

jQuery 大会 2008 的注册现已正式开放。立即注册 确保你的席位!
正如 宣布 的那样,这场为期一天的会议将于 9 月 28 日星期天波士顿 举行,届时将有来自 jQuery 项目成员和一些特邀嘉宾的两位演讲人进行两场演讲(初学者和高级)。50 美元 的注册费将用于支付场地费用,以及所有参会者的餐饮、饮料和 T 恤费用。

我们正在最终确定一个方便的会场,尤其是那些将在接下来的周一至周三参加 Ajax 体验大会 的人。我们仍在确定议程,但你可以期待这是一场盛大的活动。

如果您有任何问题,请随时通过 events [at] learningjquery.com 与我们联系。

jQuery UI 1.5.2

发布日期: 作者:

大约 4 天前,许多人注意到我们在 Google Code 帐户中上传了另一个小的错误修复版本。虽然这次没有引入新的 API,但超过 30 个问题已得到解决,代码库每天都在变得更加稳定。

如果你想了解某个特定问题是否已解决,则可以 此处 查看完整的变更日志。与 1.5.1 一样,强烈建议你更新到此版本,它很可能不会破坏你编写的代码中的任何内容。

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

最后,这可能是 1.6 之前的最后一个次要版本,我们将在 7 月底之前宣布 1.6,所以敬请关注几个令人惊叹的新组件和增强功能!

祝您愉快!

Paul Bakaus 和 jQuery UI 团队

jQuery UI 1.5.1

发布日期: 作者:

在 jQuery UI 1.5 发布后不久,我们收到了许多有用的反馈,并在我们的 bugtracker 中提交了问题。今天,我们很高兴发布 jQuery UI 的另一个版本,该版本解决了许多次要回归问题和许多未解决的问题。

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

此外,主题滚轮和我们首页上的演示也出现了问题并已得到修复。我们现在正在继续完成所有单元测试和功能演示,所以请期待很快再次发布 UI 及其网站的另一个版本。

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

很快再见!

Paul Bakaus 和 jQuery UI 团队

jQuery Camp 2008 宣布

发布日期: 作者:

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

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

这场活动获得了 *巨大* 成功,今年的营地有望更加精彩。

jQuery Camp 2008 将提供两条轨道,提供入门和高级课程,涵盖各种主题。Ajax 开发、mashup、安全以及最近发布的 jQuery UI 组件和效果库只是已经排好的一些主题。

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

对于参加 Ajax 体验大会的人来说,主办方最近宣布,在 9 月 29 日的会议中心,将专门为额外的 jQuery 会议预留半天的时段。议程仍在制定中,但我们正在考虑提供一个“梦之队代码审查”环节,用户可以在该环节中让 jQuery 团队成员审查他们的代码。我们希望听到你的反馈;你会参加这个环节吗?

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

9 月再见。

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,删除了 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”的新项目诞生了。最初计划将 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 为 jQuery UI 提供了一种独特的 UI 组件主题设计方法。使用 ThemeRoller,您可以在几分钟内为您的项目创建您自己的主题。它完全直观,提供丰富的控件来更改每个状态的颜色和设计,然后在您工作时使用实际的 UI 组件预览您的主题

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

此外,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 v. 1.2.6 Google Spreadsheet 中找到(由于 Internet Explorer 6 和 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())中很容易感受到。

新功能和主要变更

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

Brandon Aaron 编写的尺寸插件的剩余方法已引入 jQuery 核心,以及其他错误修复和性能改进。该插件在开发人员和插件作者中得到了广泛使用,并已成为 jQuery 生态系统的重要组成部分。在过去几个版本中,我们一直在缓慢地引入尺寸插件中最常用的方法,但随着 1.2.6 版本的发布,所有剩余的方法现在都是核心的一部分。

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

尺寸插件的完整文档可以在 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() 函数允许您在 jQuery 集合中找到 DOM 元素的位置,现在您还可以指定一个 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 有一些命名的动画速度(例如“慢”、“快”和“默认”),您现在可以通过操作 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 团队

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 Spreadsheet 中找到(由于 Internet Explorer 6 和 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())中很容易感受到。

新功能和主要变更

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

Brandon Aaron 编写的尺寸插件的剩余方法已引入 jQuery 核心,以及其他错误修复和性能改进。该插件在开发人员和插件作者中得到了广泛使用,并已成为 jQuery 生态系统的重要组成部分。在过去几个版本中,我们一直在缓慢地引入尺寸插件中最常用的方法,但随着 1.2.6 版本的发布,所有剩余的方法现在都是核心的一部分。

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

尺寸插件的完整文档可以在 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() 函数允许您在 jQuery 集合中找到 DOM 元素的位置,现在您还可以指定一个 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 有一些命名的动画速度(例如“慢”、“快”和“默认”),您现在可以通过操作 jQuery.fx.speeds 对象为动画速度提供自己的名称,或修改现有名称。

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