团队风采:jQuery 错误分类团队

发表于 作者

让我用图表介绍一下错误分类团队

在过去的 60 天里,错误分类团队处理了大量混乱的票据,并解决了每一个。

没错,目前 jQuery 问题跟踪器中没有未审核的票据。 最后一个 被关闭的是一个相当糟糕的错误。

jQuery 错误分类团队是由 jQuery 核心团队和社区成员组成的,他们积极协助缩小范围并修补在 jQuery 错误跟踪器 上提交的错误。该团队成员拥有多年的 JavaScript 和 jQuery 错误调试和修复经验。当你向项目提交错误、功能请求或增强请求时,他们会查看你的票据。

团队成员包括:

  • Dave Methvin 是 PC Pitstop 的联合创始人,自 2005 年起使用 jQuery,并且是 jQuery 核心团队成员。
  • Addy Osmani 是 AOL 的伦敦用户界面开发人员,也是一位经常为 jQuery 博客撰稿的人。
  • Colin Snover 是一位总部位于明尼阿波利斯的独立软件设计师和开发人员。
  • Rick Waldron 是波士顿 Bocoup 的研发主管。
  • Alex Sexton 是奥斯汀 Bazaarvoice 的实验室工程师,也是 yayQuery 播客的联合主持人。
  • Adam J Sontag 是纽约 Bocoup 的开发人员,也是 yayQuery 播客的联合主持人。
  • Mike Taylor 为 Opera Software 工作,有时骑自行车时会被汽车撞到。
  • Dan Heberden 是一位总部位于俄勒冈州波特兰的网站顾问,并且是 jQuery UI 团队成员。
  • Anton Matzneller 是一位位于奥地利维也纳的计算机科学专业的学生和开发人员。

我们都应该感谢他们,他们为 jQuery 付出了巨大的努力。

<== jQuery 英雄

现在,从开发前线传来其他一些消息…

新功能(未记录)

jQuery.readyWait
jQuery 1.4.3 中引入了一个名为 readyWait 的计数器。它提供了一种方法,让控制流程到达一个点,以便调用已注册的 ready() 处理程序。

事件映射支持扩展
.live().die().delegate().undelegate() 现在支持将事件映射作为参数,与 bind 和 unbind 目前支持的方式相同。

.getData().setData().changeData() 可用覆盖
如 jQuery 1.4.3 版本说明中所述,我们之前提供了两个事件,setData 和 getData(每当通过 .data() 方法设置或检索数据时广播)。在最新版本的 jQuery 中,你实际上可以覆盖这些事件,以便为这些功能提供替代行为。例如,你可以返回不同的值或阻止设置特定值。

回归

我们确定 1.4.3 中引入了一个回归,它限制了 attr() 对 nodeType 为 1 的 DOM 元素节点的使用。虽然这在 1.4.4 中已修复,但 attr(name)attr(name, value)特定情况下 仍然失败。我们计划在 jQuery 1.4.5 中修复此问题。

jQuery UI 错误跟踪器更新

jQuery UI 错误跟踪器 最近从 Colin Snover 先生那里获得了与 jQuery 核心相同的增强功能,你现在可以找到与在 jQuery 核心跟踪器中提交错误、功能和增强请求相同的投票和跟踪选项。这将使你更容易找到我们何时查看了你的票据,以便你可以跟进是否有任何关于修复的额外问题或更新。

jQuery 错误修补提示

jQuery 拥有一个非常活跃的开发社区,我们的社区成员有时希望修补他们发现的错误或问题,以便提交给项目进行审查。

如果你想参与其中,我们提供了一个带注释的构建文件(由 Rick Waldron 提供),它可以帮助你在使用 LAMP 或 MAMP 堆栈时设置错误修补。你可以 通过 gist 下载此构建文件。如果你在设置方面有任何问题,请随时在上面的 gist 上发表评论,或在 #jquery IRC 频道中向我们咨询。

(感谢 Addy Osmani 为我起草了这篇文章的很大一部分 :)

jQuery 1.4.4 发布

发表于 作者

jQuery 1.4.4 现已发布!这是 jQuery 1.4 之上的第四个次要版本,其中包含了一些错误修复,包括对 1.4.3 的一些改进。

我们感谢以下社区成员为该版本提供补丁、意见和时间:Rick Waldron、Dan Heberden、Alex Sexton、Colin Snover。

以及以下 jQuery 核心团队成员:John Resig、Dave Methvin、Karl Swedberg、Paul Irish。

我们还感谢我们的错误分类团队,他们帮助缩小了该版本所需的一些重要修复范围:Colin Snover、Rick Waldron、Addy Osmani、Alex Sexton、Adam Sontag、Dave Methvin、Mike Taylor、Aaron Boushley、Jitter 和 John Resig。

下载

与往常一样,我们提供了两个版本的 jQuery,一个最小化,一个未压缩(用于调试或阅读)。

你可以随意将上面的 URL 直接包含在你的网站中,并且将获得快速加载 jQuery 的全部性能优势。

此外,你还可以直接从 Microsoft 和 Google 的 CDN 加载 URL

Microsoft CDN: http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.4.min.js

Google CDN: https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.4.4/jquery.min.js

总体改进

我们在这个版本中做了一些改进,其中许多修复了 jQuery 社区突出显示的错误。有关更改的完整列表,请参阅下面标记为“更改”的部分以获取更多信息。

新功能

可以在 jQuery 1.4.4 的 API 文档 中找到所有新功能和更改。

.fadeToggle()

为了进一步统一我们 API 中的方法,我们引入了一种新的效果方法 .fadeToggle()。我们 API 中已经有了用于滑动(.slideToggle())和切换类(.toggleClass())的现有切换方法,因此扩展淡入淡出效果的内置切换功能是有意义的。有关更多信息,请参阅 .fadeToggle() 上的 API 文档。

更改

更新了什么?

自 1.4.3 发布以来,jQuery 中的一些区域发生了变化

  • (新增)添加了一个新的动画方法 .fadeToggle()
  • (增强)现在调用不带参数的 .data() 将包含来自 HTML5 data- 属性的数据(#7222
  • (增强)将 jQuery.props 从 support.js 移动到 attributes.js(#6897
  • (增强).width() 和 .height() 现在报告隐藏元素的宽度和高度(#7225
  • (错误)stopImmediatePropagation 在 live/delegate 事件处理程序中没有得到尊重(#7217
  • (错误)修复了在确定 AJAX 请求是本地还是远程时,主机和协议没有区分大小写比较的问题(#6908
  • (错误)修复了“clone”变量没有正确声明的问题(#7226
  • (错误)修复了我们仅在对已根植 qSA 的节点(没有 ID 的节点)更改 ID 的问题(#7212
  • (错误)将 CSS“auto”更改的范围限制在高度/宽度(#7393
  • (错误)修复了确保未引用的属性选择器被引用(允许它们正确进入 qSA/matchesSelector)的错误。修复了(#7216
  • (错误)修复了确保如果触发了额外的加载事件(例如,在 DOM 就绪时动态注入 iframe),则不会两次触发就绪事件的错误(#7352)。
  • (错误)修复了阻止 attr 在非元素节点上工作的问题(#7451)。
  • (错误)在调用 .data('foo') 后更改 HTML5 data 属性不再导致 .data('foo') 发生变化(#7223
  • (错误)修复了 Opera 使用 getComputedStyle 时没有给出 display: none 元素的高度/宽度,但使用 currentStyle 时给出了高度/宽度的问题 - 如果存在则回退到它。
  • (错误)修复了确保访问元素的计算 CSS 时始终返回“auto”而不是""的错误(#7337

它还修复了 1.4.3 中的一些回归。其中一个导致

  • (错误)JSONP 调用在回调后清理时失败(#7196
  • (错误).removeData() 失败(#7209
  • (错误)“ready”事件在使用 .bind("ready", foo) 添加时触发两次(#7247
  • (错误).css('width') 和 .css('height') 在尝试获取隐藏或断开的元素的样式时返回 0 或负值(#7225
  • (错误)属性不等于选择器([foo!=bar])在 Firefox 中不起作用(#7243
  • (错误)find() 在从包含名为“id”的输入的表单中进行选择时失败(#7212
  • (错误).children(selector) 在 XML 文档中失败(#7219
  • (错误)子级(>)、下一个兄弟(+)和上一个兄弟(~)选择器与非 CSS 伪选择器(如:last)结合使用时失败(#7220
  • (错误)将 null 作为事件处理程序传递时,会引发“handler is null”错误(#7229
  • (错误)无法在 DELETE 请求中包含内容主体(#7285
  • (错误)无法在 HEAD 请求中包含数据(#7285
  • (错误)使用 live/delegate 时,IE 在禁用元素上触发了单击事件(#6911
  • (错误) 如果 .hide() 之前已经在一个隐藏的元素上调用,.show() 会失败 (#7331)
  • (错误) 如果一个元素在样式表中被隐藏,然后在调用 .show() 之前手动设置了 .css(‘display’),.show() 会失败 (#7315)


jQuery 1.4.4 中不兼容的更改

.width() 和 .height() 方法不再在检查使用 ‘display: none’ 隐藏的元素时返回 0。要确定元素是否隐藏,始终使用 .is(‘:hidden’)。

就这样! jQuery 1.4.4 现在已经发布,所以请随时更新您的项目以使用最新版本。我们欢迎来自社区的任何和所有反馈。

您希望在 jQuery 1.5 中看到哪些功能?

现在 jQuery 1.4.4 已经发布,我们开始计划下一个主要版本的发布,我们希望社区在决定我们应该包含哪些功能方面提供帮助。建议功能的过程非常简单;以下是您需要做的

1. 想想您想在 jQuery 1.5 中包含的功能
2. 如果尚不存在,请在我们的 [错误追踪器] 中为该功能创建一个新的工单
3. 通过填写 [jQuery 1.5 功能提名表] 发送您的提名

就是这样! 在几周内,jQuery 团队将坐下来审查所有提名。我们认为对大多数社区有利的功能将被添加到我们的路线图中。

我们计划在明年年初发布 jQuery 1.5,我们感谢您在让我们知道如何为您改进它方面提供的任何帮助。我们期待听到您的想法和功能请求。

jQuery 1.4.4 发布候选版 2 发布

发布于 作者

我们很高兴地宣布 jQuery 1.4.4 发布候选版 2 现已发布! 这是 jQuery 1.4.4 的第二个发布候选版 - 针对 jQuery 1.4.3 的后续维护版本。代码是稳定的(通过了我们支持的所有浏览器中的所有测试),功能完整(我们不再接受该版本的新的功能),并且需要在实时应用程序中进行测试。

获取代码

我该如何帮忙?

首先,尝试将上述版本的 jQuery 1.4.4rc2 放入您正在运行的实时应用程序中。如果您遇到异常或出现奇怪现象,请立即登录错误追踪器并 提交错误请务必提及您在 jQuery 1.4.4rc2 中遇到了错误!

我们将密切关注收到的错误报告,并努力解决 jQuery 1.4.3 和 jQuery 1.4.4 之间的任何不一致之处。

更新了什么?

自 1.4.3 发布以来,jQuery 中的一些区域发生了变化

  • (新增)添加了一个新的动画方法 .fadeToggle()
  • (增强)现在调用不带参数的 .data() 将包含来自 HTML5 data- 属性的数据(#7222
  • (增强)将 jQuery.props 从 support.js 移动到 attributes.js(#6897
  • (增强).width() 和 .height() 现在报告隐藏元素的宽度和高度(#7225
  • (错误)stopImmediatePropagation 在 live/delegate 事件处理程序中没有得到尊重(#7217
  • (错误)修复了在确定 AJAX 请求是本地还是远程时,主机和协议没有区分大小写比较的问题(#6908
  • (错误)修复了“clone”变量没有正确声明的问题(#7226
  • (错误)修复了我们仅在对已根植 qSA 的节点(没有 ID 的节点)更改 ID 的问题(#7212
  • (错误)在调用 .data('foo') 后更改 HTML5 data 属性不再导致 .data('foo') 发生变化(#7223
  • (错误)修复了 Opera 使用 getComputedStyle 时没有给出 display: none 元素的高度/宽度,但使用 currentStyle 时给出了高度/宽度的问题 - 如果存在则回退到它。
  • (错误)修复了确保访问元素的计算 CSS 时始终返回“auto”而不是""的错误(#7337

它还修复了 1.4.3 中的一些回归。其中一个导致

  • (错误)JSONP 调用在回调后清理时失败(#7196
  • (错误).removeData() 失败(#7209
  • (错误)“ready”事件在使用 .bind("ready", foo) 添加时触发两次(#7247
  • (错误).css('width') 和 .css('height') 在尝试获取隐藏或断开的元素的样式时返回 0 或负值(#7225
  • (错误)属性不等于选择器([foo!=bar])在 Firefox 中不起作用(#7243
  • (错误)find() 在从包含名为“id”的输入的表单中进行选择时失败(#7212
  • (错误).children(selector) 在 XML 文档中失败(#7219
  • (错误)子级(>)、下一个兄弟(+)和上一个兄弟(~)选择器与非 CSS 伪选择器(如:last)结合使用时失败(#7220
  • (错误)将 null 作为事件处理程序传递时,会引发“handler is null”错误(#7229
  • (错误)无法在 DELETE 请求中包含内容主体(#7285
  • (错误)无法在 HEAD 请求中包含数据(#7285
  • (错误)使用 live/delegate 时,IE 在禁用元素上触发了单击事件(#6911
  • (错误) 如果 .hide() 之前已经在一个隐藏的元素上调用,.show() 会失败 (#7331)
  • (错误) 如果一个元素在样式表中被隐藏,然后在调用 .show() 之前手动设置了 .css(‘display’),.show() 会失败 (#7315)
  • (错误) Sizzle.contains 在不支持 compareDocumentPosition 或 documentElement.contains 的浏览器上抛出错误 (#7236)

关于该版本的完整信息即将发布 - 现在我们只需要您的帮助来发现回归。

有了您的反馈,我们应该能够发布一个稳定的版本。现在,我们希望在大约一周内发布最终的 1.4.4 版本。感谢您帮助审查 jQuery 1.4.4rc2!

我们还想提醒您,jQuery UI 1.8 的第六个维护版本也已发布。有关此版本的更多信息,请随时访问 jQuery UI 博客 以获取更多信息。

jQuery 社区更新 10/26

发布于 作者

来自 jQuery 核心团队的更新

今天我有一些关于 jQuery 的下一个版本(jQuery 1.4.4)的好消息。在发布了包含许多修复程序的 1.4.3 版本(当然还有 jQuery Mobile 的引入)之后,我们认为,如果我们能在之后不久发布一个维护版本,将为社区带来最大的利益,旨在进一步提高 jQuery 核心的稳定性。

对于 1.4.4,我们已经确定了对我们来说最需要修复的错误,并且感谢 John Resig 和错误分类团队,我们已经修复了其中大多数问题。我们目前计划在 11 月初发布 1.4.4,假设没有针对此版本发布的进一步重大错误。

今天,我们想请社区帮助我们确保这个新版本尽可能稳定,方法是通过压力测试它。虽然我们已经在 jQuery 上运行了一套全面的自动单元测试,但将真实的用户的测试添加到我们的项目流程中,使我们有机会更早地修复关键的错误,并将帮助 1.4.4 成为比上一个版本有显著改进的版本。

如果您想测试 1.4.4,您可以在这里下载最新的版本(称为 jQuery Git)

https://code.jqueryjs.cn/jquery-git.js

请记住,此版本尚未准备好用于生产系统,并且仅供评估和测试使用。它现在也已在 jsFiddle.net 上以“jQuery 0 Git”的名称提供。

我们感谢社区在帮助我们使此版本尽可能稳定方面的协助,并欢迎您对此版本的任何反馈。如果您在此版本中发现错误,并且想要报告它,请参阅有关错误提交的 指南

来自 jQuery UI 团队的更新

来自 jQuery UI 团队的开发人员在会议结束后在波士顿停留了三天,并且能够修复了许多错误并针对 jQuery UI 的未来进行了一些面对面的规划。jQuery UI 1.8.6 即将发布,所以请留意 jQuery UI 博客 以获取最新信息。

此外,jQuery UI 团队正在与 Colin Snover 合作,将 jQuery UI 的工单系统迁移到与 jQuery 核心团队最近收到的系统类似的新系统。我们对拥有一个更稳定和协作的工单追踪系统感到非常兴奋,并且希望社区能更多地参与工单分类工作。如果您有兴趣贡献,请联系 jQuery 开发者关系团队成员

由 Ralph Whitbeck 和 Rey Bango 主持的 官方 jQuery 播客 上周发布了他们的 第 37 集。本周的嘉宾是 Ben Nadel,他们讨论了 ColdFusion 社区中的 jQuery,并谈论了上周末在波士顿举行的 jQuery 大会。本周他们将采访 John Resig 关于 jQuery 1.4.3 和 jQuery Mobile。如果您有任何想回答的问题,请通过 联系表格 发送您的问题。

不要忘记我们的 论坛。我们有一个充满活力的社区,在提问和回答问题。我们希望更多的人能够通过帮助他人回答问题来做出贡献。这是一个参与项目的好方法;能够将您的知识回馈给其他人非常有意义。

jQuery 1.4.3 发布

发布于 作者

jQuery 1.4.3 现已发布! 这是 jQuery 1.4 之上的第三个次要版本,修复了一些错误,并带来了许多改进。

我要感谢以下社区成员为本版本提供了补丁和反馈:Anton M.、Justin Meyer、Colin Snover、Ryan Tenney、Louis-Rémi Babé、David Petersen、Rick Waldron、Dave Reed、John-David Dalton、temp01、Heungsub Lee、J. Ryan Stinnett、Robert Katic、Juriy Zaytsev、James Burke、Jeffery To、Carl Fürstenberg、Jacob Wright、Jeff Robinson、Christian C. Salvadó、Andrée Hasson、Jason Webster、Dave Furfero、Adam Sontag、Travis Hardiman、DBJDBJ 和 Ben Alman。

以及以下 jQuery 团队成员:Scott González、Brandon Aaron、Yehuda Katz、Dave Methvin、Karl Swedberg、Paul Irish、Ralph Whitbeck、Jörn Zaefferer、Richard Worth、Doug Neiner 和 Mike Alsup。

下载

像往常一样,我们提供了两个版本的 jQuery,一个压缩版(我们现在使用 Google Closure Compiler 作为默认的压缩器)和一个未压缩版(用于调试或阅读)。

你可以随意将上面的 URL 直接包含在你的网站中,并且将获得快速加载 jQuery 的全部性能优势。

此外,您也可以直接从 Google 的 CDN 加载 URL

总体改进

我们对 jQuery 的内部结构和我们用于开发的指南进行了一些改进。

JSLint

首先,jQuery 现在通过了 Douglas Crockford 的 JSLint 工具。我们已经将他的工具集成到我们的工作流程中(从 Github 中检出 jQuery 并运行 ‘make lint’ 将显示结果) - 使我们能够及时发现可能的回归。

我们对 JSLint 做了一些微小的更改,以适应我们特定的开发风格,并在 jQuery 核心风格指南 中记录了结果。

模块化

我们还删除了 jQuery 源代码中存在的一些模块之间的相互依赖关系。这样做使在使用源代码的 jQuery 副本时具有更大的灵活性。例如,您现在可以使用脚本加载器(例如 LABjsRequireJS)动态加载各个 jQuery 模块(例如核心、支持、数据和事件)。

此外,此更改使您不再需要构建 jQuery 的副本才能运行 jQuery 测试套件。这极大地改进了我们的开发工作流程 - 使我们能够快速更改 jQuery 并测试结果,而无需(相对)缓慢的构建步骤。

新功能

所有新的功能和更改都可以在 jQuery 1.4.3 的 API 文档 中找到。

CSS 模块重写

几乎整个 CSS 模块都被重写了,完全专注于可扩展性。您现在可以编写自定义的 CSS 插件,扩展由 .css().animate() 提供的功能。

例如,这是由 Louis-Rémi Babé 编写的利用新功能的插件:jQuery Rotate

该插件提供了一种跨浏览器的设置和动画 DOM 元素旋转的方法,只需使用传统的 jQuery 方法,如下所示

$('#myDiv').css('rotate', 90);
$('#myDiv').animate({rotate: 180});

在重写过程中,我们将 jQuery 中的功能分解成两个非常明确的路径:获取和设置元素的 .style 属性(通过 jQuery.style 完成)以及获取元素的当前计算样式信息(通过 .css() 和 jQuery.css 完成 - 请注意,jQuery.curCSS 已经不再使用,并且被弃用)。.css() 提供的功能同时使用了 jQuery.style 和 jQuery.css 方法。

这种改变使得计算样式的检索速度更快,性能提升了 20%。

jQuery 1.4.3 .css() Getting a Value

所有性能测试的原始数据可以在 以下 Google 文档表格 中找到。所有测试都可以在 jQuery 源代码库 中找到。

数据

数据模块已经进行了许多改进,极大地提高了它的实用性。

HTML 5 data- 属性

首先,jQuery Metadata 插件提供的核心功能已经迁移到核心库中。HTML 5 data- 属性 将被自动提取到 jQuery 的数据对象中。

例如,给定以下 HTML 代码

<div data-role="page" data-hidden="true" data-options='{"name":"John"}'></div>

以下所有 jQuery 代码都将正常工作。

$("div").data("role") === "page";
$("div").data("hidden") === true;
$("div").data("options").name === "John";

请注意,字符串将保持原样,而 JavaScript 值将转换为其关联的值(这包括布尔值、数字、对象、数组和 null)。

data- 属性在第一次访问数据属性时被提取,之后不再被访问或修改(所有数据值随后将存储在 jQuery 内部)。

JavaScript 对象

在 JavaScript 对象上使用 .data() 时,进行了一些更改(更准确地说,是对任何不是 DOM 节点的对象进行更改)。首先,无论何时在 JavaScript 对象上设置数据,数据都会直接设置在对象上,而不是进入内部数据对象存储。此外,附加到对象的事件将被放在一个新的 `__events__` 属性中,该属性实际上是一个函数。这样做是为了允许事件直接附加到对象,并在对象被回收时进行垃圾回收,并且不会被 JSON 序列化器序列化。这些更改应该使 jQuery 的数据和事件系统在 JavaScript 对象上更加有用。

活动

jQuery 已经有了 setData 和 getData 事件(它们在通过 .data() 方法设置或获取数据时广播),覆盖这些方法可以覆盖这些功能的默认行为(即,您可以返回不同的值或阻止设置值。请注意,在 jQuery 1.4.3 中,这些事件不再冒泡(允许它们冒泡在大多数应用程序中证明成本过高)。

在 1.4.3 中,我们引入了一个名为 changeData 的新事件。当使用 .data() 更改单个数据属性时,会触发此事件。例如

var user = new User();
$(user).bind("changeData", function( event, name, value ) {
  $("#user").find("#" + name).val( value );
});

changeData 事件被新的 jQuery 数据链接 插件广泛使用。它使数据 API 能够同步设置 JavaScript 对象属性和表单字段。

其他

在 1.4.3 中,对 .data() 进行了一项小的 API 更改:调用 .data(Object) 将不再完全替换数据对象,而是扩展现有对象,保留未指定的值。我们发现根据一些让人困惑的错误报告,这应该是预期的结果。

遍历

几乎所有主要遍历方法的性能都得到了大幅提升。.closest()、.filter()(以及结果,.is())和 .find() 的性能都得到了很大改善。

这些改进主要是因为更充分地利用了浏览器的 querySelectorAll 和 matchesSelector 方法(如果存在)。jQuery 项目请求浏览器添加新的 matchesSelector 方法(编写测试套件,与供应商交谈,并提交错误),整个社区现在都能够享受出色的性能优势。

jQuery 1.4.3 .closest() Performance

jQuery 1.4.3 .filter() on a Single Element

jQuery 1.4.3 .find() on an element

所有性能测试的原始数据可以在 以下 Google 文档表格 中找到。所有测试都可以在 jQuery 源代码库 中找到。

以上性能结果专门针对 jQuery 代码中的三种非常常见的情况:在单个 DOM 节点上使用 .closest(),在单个 DOM 节点上使用 .filter()(或 .is()),以及使用以 DOM 元素为根的 .find()(例如 $(“#test”).find(“something”))。

请注意,显示的浏览器是实际支持 querySelectorAll 或 matchesSelector 的浏览器,现有不支持这些方法的浏览器将继续具有相同的性能特性。

Ajax

已经添加了一些新的 Ajax 功能,这些功能应该有助于插件作者和构建渐进增强的应用程序。

引入了一个新的 jQuery.readyWait 属性,当添加时,它会延迟 ready 事件的执行。插件应该使用此属性来延迟 ready 事件的发生,直到指定的时间。例如,RequireJS 已经实现了对该属性的使用,允许你加载在 ready 事件触发之前应该处理的依赖项。当一项加载完成后,你应该最终调用 `jQuery.ready(true)`(如果所有依赖项都已加载完毕,并且 DOM 已经准备好,那么 ready 事件将会触发)。

我们还添加了一个新的支持属性:jQuery.support.ajax。简而言之,它在能够处理“Ajax”(XMLHttpRequest)请求的浏览器中返回 true。

活动

.bind(“click”, false) 和 .unbind(“click”, false)

用于绑定一个除了返回 false 之外什么都不做的函数的便捷快捷方式(阻止默认操作并停止事件冒泡)。

.click(data, fn)

所有内置的事件方法(例如 .click())现在都接受数据作为第一个参数(类似于 bind 方法)。

event.namespace

事件对象的新的属性,它包含传递给 `jQuery.trigger()` 的事件命名空间。

效果

.show(speed, easing, callback) 等。

所有动画方法现在都支持缓动。就像 .animate() 支持缓动参数(用于缓动插件)一样

jQuery.fx.interval

一个新属性,它公开所有效果触发的速率(以毫秒为单位,默认值为 13)。使这个数字更小将在某些浏览器(如 Chrome)中使动画更流畅,但会消耗 CPU。

其他

jQuery.type

确定对象的内部 JavaScript [[Class]]。许多不同的方面被用来确定对象的准确返回值。逻辑可以如下确定

  • 如果对象是未定义的或 null,那么将分别返回“undefined”或“null”。
  • 如果对象具有与浏览器内置对象之一等效的内部 [[Class]],我们将返回关联的名称。(有关此技术的更多详细信息。
    • jQuery.type(true) === “boolean”
    • jQuery.type(3) === “number”
    • jQuery.type(“test”) === “string”
    • jQuery.type(function(){}) === “function”
    • jQuery.type([]) === “array”
    • jQuery.type(new Date()) === “date”
    • jQuery.type(/test/) === “regexp”
  • 其他所有内容都将返回“object”作为其类型。

jQuery.isWindow

一个用于确定对象是否可能是窗口的简单方法。

jQuery.isWindow(window); // true

此外,我们现在使用本机 Array.isArray 方法作为 jQuery 的 isArray(如果可用),并使用浏览器提供的本机 String trim 方法(同样,如果可用)。对 jQuery.trim 做了一些性能改进,详情见 以下线程

测试

jQuery 1.4.3: Passing 3621 Tests in All Browsers

jQuery 1.4.3 在所有支持的浏览器上通过了 3621 个测试。我们在 Firefox 4 上 100% 通过,在 IE 9 上几乎通过(我们发现了两个错误,提交了它们,其中一个已经被修复)。

jQuery 社区更新 10/12

发布日期: 作者:

对于 jQuery 来说,这是一个重要的星期,我们的 第二个候选版本 jQuery 1.4.3 已经发布,可以用于测试。我们要感谢所有提交反馈和错误报告的人,这些反馈和错误报告对于使这个版本尽可能稳定非常有帮助。请记住,如果你想报告错误,可以通过我们的 错误跟踪器 轻松提交。

我们的新错误跟踪器

关于错误跟踪器,我想请 Colin Snover 来宣布我们错误跟踪系统的事情

今天,我们为 jQuery 核心引入了一个新的错误跟踪系统。除了速度更快、使用更方便之外,新的 Trac 还有一些很棒的新功能,我们希望你能够喜欢。我们竭尽全力确保最终用户和开发人员获得比以前的服务好得多的体验。

最重要的变化是增加了投票功能,这将帮助团队确定哪些错误和新功能对 jQuery 社区成员最关切。到目前为止,还没有办法获得如此具体的指标来衡量人们认为哪些问题是最重要的,因此我们对这项功能感到非常兴奋,并希望你能使用它来帮助我们了解你最希望在库中看到什么。

我们添加了一个无需登录的错误报告模式,允许任何人报告错误,而无需首先经过注册过程。我们还显著改进了报告过程,因此在提交工单时,只需要提供摘要、描述、版本号和问题类型。

新的 Trac 的另一个很棒的新功能是更可定制的通知系统,它允许任何人选择在工单更改时确切地接收哪些电子邮件。这项功能还引入了“关注”工单的功能,因此你可以在无需定期访问错误跟踪器的情况下,随时了解你关心的工单。

对于 jQuery 开发人员来说,新的错误跟踪器提供了大量改进。最明显的是,我们现在能够建立交叉引用,因此我们知道哪些问题阻塞了其他工单,哪些问题被其他工单阻塞。我们还集成了对 GitHub 的支持,因此 jQuery GitHub 库的更改会在 Trac 的时间轴和工单系统中自动反映出来。最后,工单流程已经发生了变化,因此重复的工单可以更快地得到解决,并且被提交者放弃的工单会自动关闭,以保持无效报告的数量较低。

我们对新的错误跟踪器中添加的所有功能感到非常兴奋,我们希望你今天能够去看一看!

我们鼓励用户在提交新的错误报告时登录,因为这将允许你看到并使用一些新改进的功能,例如投票小部件和关于你错误报告的后续通知。请告诉我们你的想法!

社区支持

我们社区的一个优点是,我们总是乐于帮助那些刚开始使用 jQuery 的人。

本着这种精神,我们想邀请有经验的用户加入 jQuery 论坛。这是一个非常棒的地方,可以帮助初学者解答他们可能遇到的关于 jQuery 的问题,或者只是帮助那些在让代码正常工作方面遇到困难的成员。要开始使用,你只需要创建一个新的论坛帐户,或者使用你的 Google、Yahoo 或 Facebook 帐户登录。

呼吁提供新的 jQuery 和 jQuery UI 教程

jQueryjQuery UI 文档网站是了解如何开始使用 jQuery 的极佳资源,但我们也希望为社区提供指向教程的链接,这些教程可能更深入地探讨特定主题。

如果您喜欢撰写有关 jQuery 或 jQuery UI 的文章,我们诚邀您撰写一篇有关特定方面、功能或组件的最新教程,然后我们可以与社区的其他成员分享。最佳教程可能会被添加到我们官方推荐的教程页面 此处

如果您想提交教程供审查,请随时与我们联系。

jQuery 大会

本月 16 日将在波士顿举行 官方 jQuery 大会,所有参加的 jQuery 团队成员都期待着您的到来。如果您不能参加,请不要担心!无论您身在何处,您仍然可以注册参加 jQuery 在线峰会,峰会将于 11 月 16 日至 17 日举行,演讲者包括 John Resig、Paul Irish、Rey Bango 等等。

感谢您的关注,请继续关注 jQuery 团队的更多更新!

jQuery 1.4.3 发布候选版本 2 发布

发布时间 作者

jQuery 1.4.3 发布候选版本 2 已发布!这是 jQuery 1.4.3 的第二个发布候选版本。代码稳定(通过了我们支持的所有浏览器中的所有测试),功能完整(我们不再接受发布的新功能),需要在实际应用程序中进行测试。

获取代码

注意:如果您使用的是 jQuery 1.4.3rc2,并且遇到错误,请确保您使用的是代码的常规版本,这将使您更容易发现错误发生的位置。

我该如何帮忙?

首先,尝试将上述未压缩版本的 jQuery 1.4.3rc2 放入您正在运行的实际应用程序中。如果您遇到异常或出现奇怪情况,请立即登录错误跟踪器并 提交错误报告请务必提及您在 jQuery 1.4.3rc2 中遇到了错误!

我们将密切关注收到的错误报告,并努力解决 jQuery 1.4.2 和 jQuery 1.4.3 之间的任何不一致。

有关 1.4.3 版本的更多详细信息,请参阅之前关于 jQuery 1.4.3rc1 的文章。

jQuery 1.4.3 发布候选版本 1 发布

发布时间 作者

jQuery 1.4.3 发布候选版本 1 已发布!这是 jQuery 1.4.3 的第一个发布候选版本。代码稳定(通过了我们支持的所有浏览器中的所有测试),功能完整(我们不再接受发布的新功能),需要在实际应用程序中进行测试。

获取代码

注意:如果您使用的是 jQuery 1.4.3rc1,并且遇到错误,请确保您使用的是代码的常规版本,这将使您更容易发现错误发生的位置。

我该如何帮忙?

首先,尝试将上述未压缩版本的 jQuery 1.4.3rc1 放入您正在运行的实际应用程序中。如果您遇到异常或出现奇怪情况,请立即登录错误跟踪器并 提交错误报告请务必提及您在 jQuery 1.4.3rc1 中遇到了错误!

我们将密切关注收到的错误报告,并努力解决 jQuery 1.4.2 和 jQuery 1.4.3 之间的任何不一致。

需要注意的地方

自 1.4.2 版本发布以来,jQuery 中的某些区域发生了重大变化

  • .css() 和相关的 css 处理方法都进行了大修。
  • 用于确定元素可见性和动画代码中显示切换的逻辑。
  • 大部分遍历逻辑都得到了改进和更改(is、filter、closest、find)。

关于该版本的完整信息即将发布 - 现在我们只需要您的帮助来发现回归。

有了您的反馈,我们应该能够发布一个稳定的版本。目前,我们希望在下一个周末波士顿举办的 jQuery 大会之前发布最终的 1.4.3 版本。感谢您帮助审查 jQuery 1.4.3rc1!

新的官方 jQuery 插件提供模板、数据链接和全球化功能

发布时间 作者

随着 jQuery 项目的发展,开发人员社区的需求也在不断增长。作为项目,我们专注于构建尽可能最好的功能,并以可靠和开放的方式提供这些功能。与大多数开源项目一样,我们能够提供的软件在很大程度上得益于许多志愿者的慷慨奉献,他们奉献时间和编码技能,使 jQuery 和 jQuery UI 成为最广泛使用的 JavaScript 库之一。

在 3 月份,我们在 MIX 2010 上宣布微软已承诺通过代码贡献和资源来支持 jQuery 项目。此后不久,微软向公众发布了他们的第一个 jQuery 插件,该插件为 jQuery 社区提供了客户端模板功能。紧随其后的是他们的第二个插件 jQuery Data Link,该插件提供了数据同步功能,最近,jQuery Globalization 插件提供了全球化信息,用于支持超过 350 种语言的 JavaScript 应用程序,包括苏格兰盖尔语、弗里斯兰语、匈牙利语、日语、加拿大英语等等。

在七个月的开发过程中,jQuery 和微软团队密切合作,以确保代码符合 jQuery 项目指定的最佳实践,并满足 jQuery 社区的特定需求。我们还确保所有贡献的代码都将以与 jQuery JavaScript 库相同的非限制性许可条款提供给 jQuery 社区。

官方 jQuery 插件

今天,我们很高兴地宣布,以下由微软贡献的插件——jQuery Templates 插件jQuery Data Link 插件jQuery Globalization 插件——已被接受为 jQuery 项目的官方支持插件。作为支持的插件,jQuery 社区可以确信这些插件将继续得到增强,并与 jQuery 和 jQuery UI 库的未来版本兼容。

jQuery Templates 和 jQuery Datalink 插件将由 jQuery 核心团队管理,而 jQuery Globalization 插件将成为 jQuery UI 项目的一部分,从而为我们丰富的 UI 库提供扩展的全球化功能。此外,从 1.5 版本开始,jQuery Templates 插件中的功能将直接集成到 jQuery 核心库中。

文档和教程

为了帮助您立即使用这些插件,我们提供了 API 文档和教程,帮助您快速掌握这些新技术。

API 文档

教程

可供下载

新插件的源代码可以在 Github 上找到,我们鼓励社区评估和增强功能。新插件现在可以立即下载,代码可以在此处找到

jQuery Templateshttp://github.com/jquery/jquery-tmpl
jQuery Datalinkhttp://github.com/jquery/jquery-datalink
jQuery Globalizationhttp://github.com/jquery/jquery-global

新的贡献途径

我们要感谢 微软 对帮助 jQuery 项目和为 jQuery 库提供新的令人兴奋的功能的承诺。这对两个团队来说都是一次有益的体验,为未来的合作奠定了基础,并为满足 jQuery 社区的需求开辟了一条新途径。

请务必阅读微软的联合公告,该公告概述了这项工作的历史以及这些贡献对微软和 jQuery 社区的重要性

jQuery Templates、Data Link 和 Globalization 被接受为官方 jQuery 插件 – Scott Guthrie,微软开发者部门公司副总裁

jQuery Templates 现在是官方 jQuery 插件 – Boris Moore,微软

jQuery Templating 在实际应用中的例子 – James Senior,微软

Web Camps TV #5 – 微软向 jQuery 贡献代码!
– Channel 9 视频

jQuery 大会 2010:波士顿 – 更新

发布时间 作者

波士顿的 jQuery 大会即将到来,我们已经正式售罄。 非常感谢您的支持,这将是一场盛大的活动。 对于那些参加的人来说,如果您仍在寻找更便宜的酒店或您开车前往会场,活动主页 上提供了一些会场信息,您需要了解一些停车信息。

赞助商
我们仍在寻找最后的 赞助商。 最后的赞助商是我们最喜欢的赞助商!

为什么要赞助? jQuery 大会得到了我们慷慨的赞助商和捐赠者的支持,没有他们,情况将大不相同。jQuery 大会是让您的信息传播到 500 多名有影响力的合格技术决策者的绝佳方式;如果您或您的公司有兴趣,请下载我们的招股说明书以了解更多信息。我们愿意与您讨论适合您的套餐。 联系方式可以在招股说明书中找到。

培训班名额依然有限
我想提醒大家,我们将在大会之前举办一个培训班。我们还有培训班的空位,它与大会分开。

在旧金山,培训班由 appendTo 举办,取得了圆满成功。 在波士顿,培训班将由 Bocoup 举办,这是一家波士顿的 JavaScript 公司。 以下是关于课程的一些详细信息。

关于课程
在为期一天的课程中,小组将使用 jQuery 构建一个激动人心的 Web 应用程序。本课程将教会您 jQuery 的功能以及如何在您的网站中负责任地使用它。适合 Web 开发新手。

培训师
让我向您介绍培训师。

从左到右:Boaz Sender、Pete Karl、Rick Waldron 和 Ben Alman

议程

  • 什么是 jQuery?
  • 什么是 DOM?
  • jQuery 和选择器
  • jQuery 和方法
  • 获取内容并执行操作:DOM 遍历和操作
  • jQuery 和事件
  • jQuery 和 AJAX
  • jQuery 和效果
  • 使用插件
  • jQuery UI 和小部件工厂
  • jQuery 的调试技巧

高级课程
Bocoup 在与会议相同的时间段内提供更多高级课程。 访问他们的网站了解更多详情。(18% 的收益直接捐赠给 jQuery 基金会)

jQuery 团队感谢 Bocoup 捐赠为期一天的培训课程,以及其他课程的收益。