jQuery 大会 2011:旧金山湾区大会宣布

发布于 作者

jQuery 项目非常高兴地宣布我们下一届旧金山湾区大会的日期;在 2010 年举办了一次精彩的活动后,我们将回到位于加州山景城的微软硅谷研究中心,时间是 4 月 16 日和 17 日, 2011.

旧金山湾区大会是 jQuery 项目在 2011 年计划的两个活动中的第一个。我们也处于今年晚些时候在东海岸举办活动的早期规划阶段(我们将在信息可用时发布详细信息)。

报名现已开始!正常票价为 299 美元,在限定时间内,早鸟票以 50 美元的折扣价出售(早鸟票在 3 月 2 日前有效,或售完为止)。

有关时间、地点和参会人员的更多详细信息,请访问活动网站

除了为期两天的 jQuery 会议外,我们还将再次在会议前星期五提供为期一天的 jQuery 培训。为了满足去年大家的要求,我们将提供两条培训路线——jQuery 初学者和高级。培训由我们来自JupiterITBocoup的朋友们慷慨提供,所有收益将直接用于资助 jQuery 项目的未来发展。请关注本博客和活动网站,获取即将发布的具体培训议程。

想贡献力量吗?

有兴趣演讲吗?我们仍在完善演讲者名单,我们很乐意有你加入!我们的征文活动现已开始,投稿已经开始陆续涌入。请关注 jQuery 博客,获取我们填充演讲席位的议程更新。

最后,如果您或您的公司想通过赞助活动提供帮助,请发送电子邮件至sponsorship@jquery.com。每一份帮助都弥足珍贵,我们很乐意与您和您的团队合作!

现在就到这里吧,我们期待在阳光明媚的加州与大家见面!

jQuery 1.5.1 RC 1 发布

发布于 作者

我们即将发布 jQuery 1.5 的第一个更新,我们很高兴地宣布第一个候选版本发布!如果不出意外,这将是我们最终发布的 jQuery 1.5.1 的代码(将在 2 月 24 日发布)。

jQuery 1.5.1 候选版本 1

您可以从 jQuery CDN 获取代码

您可以通过将该代码放到您现有的应用程序中,并告知我们是否有任何功能不再正常工作来帮助我们。请提交 Bug,并确保您提到了您是在 jQuery 1.5.1 RC 1 上进行测试的。

我们希望鼓励社区中的每一个人尝试并参与进来,为 jQuery 核心做出贡献。我们已经建立了一个完整页面的信息,专门用于帮助您更深入地参与团队。团队已经就位,随时准备帮助您帮助我们!

jQuery 1.5.1 RC 1 变更日志

1.5.1 版本的当前变更日志。

  • #2551 确保 .val() 在 IE 中 form.reset() 后仍然有效
  • #4537 确保 .clone(true) 正确克隆命名空间事件
  • #4966 不要在对无单位属性进行动画时添加“px”
  • #6774 确保我们只在 parentNode 可用时访问它。修复了在 option 标签被分离后,elem.parentNode 会抛出错误的问题。
  • #7531 针对 IE9RC 再次修复。增强 ajaxSetup,使其可以接受一个可选的 target 选项,在这种情况下,target 会被更新而不是 ajaxSettings。这样,可以列出不应深层扩展的字段,并在一个地方处理它们。jQuery.ajax 现在使用带有 target 的 ajaxSetup 来创建其内部设置对象
  • #7568 针对#5862 的后续修复。具有 length 属性的对象无法被 jQuery.param 正确序列化
  • #7653 更改正则表达式以检测本地协议,以便它接受任何以 -extension 结尾的协议
  • #7668 Sizzle 和 jQuery QUnit 测试不一致
  • #7912 此更改使 .cur() 更加 .cssHooks 友好。如果 .cur() 不是数字、类似数字或需要回退到 0 的值,它现在会返回 .css() 未修改的值。
  • #7922 修复了 live('click') 在 IE 中在 live('submit') 之前绑定时不会触发的问题
  • #7945 使 jQuery.param() 正确序列化具有名为 jquery 的属性的纯对象
  • #8033 jQuery 1.4.4+ 无法在具有旧 Prototype (<= 1.5) 或 Current Prototype + Scriptaculous 的页面上加载,在 IE 中
  • #8039 具有 HTML5 输入类型的选择器在 IE6/7 中无法工作
  • #8052 更新 jQuery.support.noCloneEvent 测试以在 IE9 中正常工作
  • #8095 正确处理需要绕过浏览器缓存,而服务器端逻辑仍然提供正确的 304 响应的情况。已添加单元测试
  • #8098 使用快速 document.head(如果可用)
  • #8099 始终根据元素的预期默认显示值恢复到正确的显示值
  • #8107 修复 $.ajax 的参数处理,使其适用于多个方法签名,并添加测试用例
  • #8108 临时修复 jQuery 元数据在使用 JSON.stringify 序列化时暴露在普通 JS 对象上的问题,以避免破坏兼容性的更改。对此的正确修复将在 1.6 中发布
  • #8115 将代码中所有对 jXHR 的引用重命名为 jqXHR(如文档中所做的那样)
  • #8123 .clone() 的默认值为不克隆任何事件
  • #8125 当 location.protocol 为“file:”时,状态被设置为 200 用于具有状态 0 的请求。添加测试/localfile.html 来控制它是否有效
  • #8129 修复了在 IE8 中克隆多个选定选项的问题
  • #8135 确保当尝试访问 XMLHttpRequest 属性时(当发生网络错误时,Firefox 会抛出异常),任何抛出的异常都会被捕获并作为错误通知。添加测试/networkerror.html 来测试行为
  • #8138 只在加载时访问一次 document.location,如果失败(当 document.domain 已被设置时,IE 中会抛出异常),我们使用 A 元素的 href 代替
  • #8145 添加 readyWait 测试
  • #8146 引入 xhrFields 选项,它是一个 fieldName/fieldValue 映射,用于在本地 xhr 上设置。如果需要,可以用来将 withCredentials 设置为 true 以进行跨域请求
  • #8152 对“chrome-extension:”协议应用与“file:”相同的特殊情况(需要测试)。重新组织并修复 xhr 传输中 HTTP 状态码的特殊情况处理
  • #8177 XHR 传输现在将 304 未修改响应视为 200 确定,前提是未提供任何条件请求头(根据 XMLHttpRequest 规范)
  • #8193 修复预过滤器中的中止。即使 global 选项设置为 true,在这种情况下也不会触发全局事件。已添加单元测试
  • #8198 删除不必要的“script.type = text/javascript;”
  • #8200 隐藏 $.support._scriptEval,因为不需要它。使用私有变量代替
  • #8209 确保将鼠标悬停在 Chrome 的“内部 div”上不会触发 mouseleave
  • #8219 引入 mimeType 选项,用于覆盖转换中的 content-type 头部(以及在可能的情况下,在本地 xhr 中)。在 jqXHR 对象上添加了配套的 overrideMimeType 方法(它只是设置了选项)
  • #8220 从标签名称过滤器中删除反斜杠
  • #8245 Ajax 现在确保头部名称大写,以便不兼容的 xhr 实现不会覆盖它们
  • #8250 ajax 在 opera 10 小部件中无法工作
  • #8277 当未在 ajax 帮助程序中提供数据时,将数据设置为 undefined 而不是 null,这样就不会阻止 ajaxSettings 中设置的数据被使用。
  • #8297 确保具有空值的响应头被正确处理,并且不会阻止整个响应头字符串的正确解析。

新版本、视频和对 jQuery UI 网格的抢先体验

发布于 作者

在今天的文章中,我们将介绍 jQuery Core 和 UI 的更新,并重点介绍即将举行的任何培训活动以及我们认为可能值得阅读的文章或视频。我们感谢您对此的评论和反馈!

内容

 

jQuery 1.5 已发布

本周,核心团队发布了 jQuery 1.5,以庆祝该库的五周年。 这包括许多 性能改进 和错误修复,以及对 Ajax 模块的重大重写,该模块现在附带了 deferred 回调管理。 核心还引入了名为 jQuery.sub 的新功能,它允许创建新的 jQuery 副本,其中属性和方法可以安全地修改,而不会影响全局 jQuery 对象。

如果您还没有机会阅读或使用这些新功能,社区成员 Eric Hynds 写了一个关于 使用 Deferreds 的深入教程,您可能对此感兴趣。 我还录制了一个 快速屏幕截图,解释如何使用 jQuery.sub

jQuery 1.5 已经开始在现实世界中使用,您可能也对查看 jQuery 模板作者 Boris Moore 的新 脚本加载器 感兴趣,该加载器也使用 deferreds。

与往常一样,我们感谢您对 1.5 版本的所有社区反馈,如果您发现您想报告的错误或问题,您可以按照我们的 错误提交指南 进行操作。 我们已经对 1.5 进行了许多 修复(可以在 jQuery-Git 中进行测试),我们也欢迎您对该版本的任何反馈。

请记住,可以在我们的 路线图 上找到有关我们所有未来版本(包括 jQuery 1.5.1)的最新信息。

 

释放网格 - 新的 jQuery UI 网格

jQuery UI 团队宣布了一个名为 jQuery UI 网格的激动人心的新项目,他们将构建一个功能丰富、快速的网格小部件,用于通过链接、排序、分页和内联编辑等功能来增强表格数据。

在项目之外,已经有过多次尝试创建这样的窗口小部件,但是它们往往缺乏支持、文档或可扩展性 - 新的 UI 网格项目旨在通过提供一个项目支持的组件来解决这些问题,该组件既模块化又会不断更新。

Richard D. Worth 交谈后,以下是团队目前在网格方面的进度更新

我们即将完成项目第一阶段的开发,该阶段包括创建通用数据模型、数据类型解析和标记。 这一阶段将最终形成一个“零功能网格”,这是一个增强的 HTML 表格,支持 jQuery UI CSS 框架,并作为其他网格功能的基础。

阅读 Richard 关于新网格的完整博客文章.

 

jQuery 大会视频现已在线提供

如果您无法参加去年在波士顿举行的 jQuery 大会(有 John Resig 和 Karl Swedberg 等演讲者参加),我们有一些好消息 - 几乎所有演讲现在都可以在线观看(在您的台式机或移动设备上)通过我们的 会议网站。 您还可以通过单击任何单个演讲者的演讲来获取视频中提到的幻灯片。

 

即将举行的 jQuery 培训活动

小组培训可以成为提高您的 jQuery 技能的绝佳方式,Ben Alman 在 Bocoup(jQuery 赞助商)希望特别宣布他们将在 3 月和 7 月举行的即将举行的活动。

Bocoup 目前计划举行两个为期 3 天的综合 jQuery 培训课程。 与往常一样,课程将在波士顿的 The Bocoup Loft 举行,10% 的利润将直接捐赠给 jQuery 基金会。 现在就报名吧,因为班级人数限制为 12 人。 在这里详细了解我们的课程和培训师

2011 年 3 月 2 日 - 4 日2011 年 7 月 13 日 - 15 日

jQuery 团队成员 Karl Swedberg 也将在 3 月 1 日 - 3 日 在密歇根州霍兰举行动手培训活动。

Karl 将轻松地指导您了解 jQuery 的原理,并向您展示如何在日常编码中使用该库。 Karl 还将向所有参加者赠送他撰写的《学习 jQuery》书籍的免费副本。

有关更多信息或注册,请查看 IdeaFoundry 网站。

 

YayQuery 的新剧集

对于 YayQuery 播客的粉丝来说,Paul Irish(jQuery 核心团队)、Adam Sontag(jQuery UI 团队)和社区成员 Alex SextonRebecca Murphey 回归了他们的视频播客的新剧集。 在他们的最新剧集中,他们讨论了新的 Deferreds 功能,其中一位是 Ajax 重写的主要开发人员 (Julian Aubourg),他们还审视了 jQuery 和 JavaScript 世界中的其他新发展。

YayQuery.com 上观看或收听播客。

就是这样!。如果您有任何您认为对社区有益的有趣的 jQuery 文章或帖子,请随时在评论中提及它们。 我们将在几周后发布另一个社区更新,其中包含有关下一版 jQuery 的更多新闻。

在此之前,祝您的所有项目好运!。

jQuery 1.5 发布

发布于 作者

如期而至,jQuery 1.5 已经可以享用了!

这个版本已经酝酿了很久,并且是真正的团队合作的成果。 请借此机会感谢 jQuery 团队jQuery 错误分类团队 的成员,感谢他们在发布这个版本方面提供的帮助。

下载

像往常一样,我们提供两个 jQuery 副本,一个是最小化的,一个是没有压缩的(用于调试或阅读)。

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

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

Microsoft CDN:http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.min.js

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

关于版本

这个版本修复了 83 个错误,总共关闭了 460 个工单

测试套件(现在有 4437 个测试)在 jQuery 支持的所有浏览器中通过了测试 - 甚至更多。 我们验证了该套件通过了以下所有浏览器的测试

  • Safari 5.0.3 / 4.0.5 / 3.2.3 / 3.1.2
  • Opera 11.01 / 11 / 10.63 / 10.54 / 10.10 / 9.64
  • IE 6 / 7 / 8
  • Firefox 4.0b9 / 3.6.13 / 3.5.11 / 3.0.19 / 2.0.0.20
  • Chrome 8.0.552.215 / 8.0.552.237 / 9.0.597.67 Beta / 10.0.642.2 Dev

此外,该版本的全部 API 文档可以在 API 网站上找到:jQuery 1.5 API 文档

我们即将发布的版本的完整时间表可以在我们的 路线图 上找到。 目前,我们计划更频繁地发布主要版本的 jQuery(可能每年发布几次,而不是每年发布一次)。

那么,jQuery 1.5 中有哪些变化呢?

Ajax 重写

这个版本中最大的变化无疑是对 jQuery 中 Ajax 模块的彻底重写。 此重写有助于修复旧 Ajax 系统中存在的许多缺陷,同时在 API 方面提供更高程度的一致性。

也许最大的变化是,现在对 jQuery.ajax(或 jQuery.get、jQuery.post 等)的调用会返回一个 jqXHR 对象,该对象在跨平台方面为 XMLHttpRequest 对象提供一致性(并允许您执行以前不可能的任务,例如中止 JSONP 请求)。

有关新 jqXHR 对象的更多详细信息,请参阅 jQuery.ajax() 文档

除了更一致的 API 之外,Ajax 系统现在也更加可扩展 - 允许您附加各种数据处理程序、过滤器和传输。 这些变化应该会开辟一个全新的 Ajax 插件领域,可以利用这种可扩展性。 更多信息可以在 扩展 Ajax 文档中找到。 该团队正在积极征求有关 Ajax 可扩展性 API 的反馈意见,如果您有任何反馈意见,请随时将其发送到 Developing jQuery 论坛

Deferred 对象

随着 Ajax 模块的重写,还引入了一个新的功能,该功能也已公开发布:Deferred 对象。 这个 API 允许您使用可能不会立即出现的返回值(例如异步 Ajax 请求的返回值)。 此外,它还让您可以附加多个事件处理程序(这在以前的 Ajax API 中是不可能的)。

例如,现在可以使用 jQuery 的内部 Ajax API 来实现以下功能

// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.ajax({ url: "example.php" })
    .success(function() { alert("success"); })
    .error(function() { alert("error"); })
    .complete(function() { alert("complete"); });

// perform other work here ...

// Set another completion function for the request above
jqxhr.complete(function(){ alert("second complete"); });

此外,您还可以使用公开的 jQuery.Deferred 创建自己的 Deferred 对象。 有关此 API 的更多信息,请参阅 Deferred 对象 文档。

Eric Hynds 撰写了一个关于 在 jQuery 1.5 中使用 Deferreds 的优秀教程。

jQuery.sub()

jQuery 现在公开了一种新方法,您可以使用该方法创建和修改 jQuery 的克隆 - 同时仍然可以利用完整的 jQuery API。 例如,您可以使用它来覆盖本机 jQuery 方法,而不会真正影响其他用户会交互的方法 - 甚至为您的插件创建封装的 API,以避免命名空间冲突。

以下是将方法添加到 jQuery 子级以便它不会在外部公开的示例

  (function(){
    var sub$ = jQuery.sub();

    sub$.fn.myCustomMethod = function(){
      return 'just for me';
    };

    sub$(document).ready(function() {
      sub$('body').myCustomMethod() // 'just for me'
    });
  })();

  typeof jQuery('body').myCustomMethod // undefined

有关 jQuery.sub() 的更多信息,请参阅 API 文档。

请注意,如果您想将此用于插件开发,您应该首先认真考虑使用 jQuery UI 小部件工厂之类的工具,它可以管理状态和插件子方法。 使用 jQuery UI 小部件工厂构建插件的一些示例

相邻遍历性能

在这个版本中,我们还能够提高一些常用遍历方法的性能:.children()、.prev() 和 .next()。 我们看到的提速相当可观(可能快很多倍,具体取决于浏览器)。

.children() Performance in jQuery 1.5

.prev() Performance in jQuery 1.5

.next() Performance in jQuery 1.5

性能测试用例和原始数字

构建系统

最后,我们对 jQuery 的内部构建系统进行了一些更改。 我们致力于将所有构建过程标准化为优秀的服务器端 JavaScript 环境:NodeJS。 我们特别感谢这一点,因为我们能够减少对遗留 Java/Rhino 系统的依赖,并将更多精力集中在新兴的 JavaScript 环境上。

此外,随着这次切换,我们开始使用来自 Google Closure Compiler 的 UglifyJS。 我们在使用它时看到了一些可靠的文件大小改进,因此我们对这次切换感到非常满意。

谢谢!

一如既往,我们要感谢所有为本次发布做出贡献的人 - 没有你们的贡献,本次发布将不可能实现。如果您有任何问题或发现任何错误,请将您的问题提交到 jQuery bug tracker

API 文档变更

发布日期: 作者:

examples of comments on api.jquery.com 当我们在去年一月将评论添加到 API 文档时,我们的想法是为社区成员提供一个地方,让他们用自己的技巧或现实世界的例子来丰富文档。虽然这个系统在刚推出时运作良好,但随着它吸引了大量的垃圾信息,它变得越来越难以管理。我们还发现,许多人试图将其用作支持系统,而这并非其设计目的。因此,我们计划在本周晚些时候关闭 API 网站上的评论,转而提供更直接的反馈选项

  • 如果您需要帮助调试代码或了解某项功能的工作原理,或者您有兴趣帮助其他人,请前往 jQuery 论坛 或访问 irc.freenode.net 上的 #jquery。
  • 如果您发现错误或有改进建议,请遵循我们的 错误报告指南 并直接将您的报告提交到我们的 错误跟踪器
  • 如果您在我们的文档中发现错误或遗漏,并希望帮助我们改进它,我们将提供一个简单的联系表格供您填写。

一旦评论被禁用,jQuery API 子团队的成员将仔细阅读旧的评论,从中寻找任何信息,并经评论者许可,将其整合到文档中。

观察和经验教训

即使我们将关闭评论系统,在过去的一年里,它仍然为我们提供了宝贵的经验。以下是我们在这一过程中观察到的几个观察结果和经验教训。

  • 当错误报告、功能请求和求助信息被留在评论中,而不是在错误跟踪器和论坛中,它们就无法得到应有的关注。
  • 当好心人回复了错误的频道中的求助信息时,他们无意中助长了社区的分裂。
  • 另一方面,当人们在适当的频道中提出和回复主题时,成功解决问题的可能性要大得多。
  • 无论大小、位置或措辞如何,有关如何编写适当评论的说明经常被忽视。
  • 随着错误修复和增强的应用,与主题相关的评论的价值和准确性往往会随着时间的推移而下降。
  • 知道如何以及何时“修剪”评论是一个特别困难的挑战。例如,在我们修改了某个条目的措辞以解决评论线程后,我们认为删除该线程是合适的。然而,我们也后悔不能适当地感谢那些在没有造成评论噪音的情况下提供帮助的人。
  • 如果插件作者在评论中宣传他们的项目,这算不算垃圾信息?我们对此问题,以及许多类似问题,没有一个好的答案,但这并没有阻止我们花很多时间苦苦思索处理这些情况的“正确方法”。

感谢 jQuery API 子团队

最后,我要借此机会感谢那些自愿贡献宝贵时间和资源来维护和改进 API 文档的人。以下人员是最近成立的 jQuery API 子团队的成员。

  • Adam Sontag
  • Addy Osmani
  • Alex Sexton
  • Dan Heberden
  • Dave Methvin
  • Eddie Monge
  • Jonathan Chaffer
  • Karl Swedberg
  • Paul Irish
  • Richard Worth
  • Rick Waldron
  • Scott González
  • Sean Koole
  • Todd Parker

此外,感谢 jQuery 社区所有通过他们的建议、批评和鼓励做出贡献的人。

jQuery 1.5 RC 1 发布

发布日期: 作者:

我们即将发布 jQuery 1.5 的最终版本 - 我们很高兴地宣布第一个候选版本发布!如果没有任何重大错误,这将是我们最终用于 jQuery 1.5 的代码(将在 1 月 31 日发布)。

最终的发布说明和文档将随 1.5 的最终版本一起发布。

jQuery 1.5 候选版本 1

您可以从 jQuery CDN 获取代码

您可以通过将该代码放入您的现有应用程序中并告知我们是否出现任何问题来帮助我们。请 提交错误报告 ,并确保提及您正在使用 jQuery 1.5 RC 1 进行测试。

我们希望鼓励社区中的每一个人尝试并参与进来,为 jQuery 核心做出贡献。我们已经建立了一个完整页面的信息,专门用于帮助您更深入地参与团队。团队已经就位,随时准备帮助您帮助我们!

jQuery 1.5 Beta 1 发布

发布日期: 作者:

祝 jQuery 5 岁生日快乐!jQuery 于 2006 年 1 月 14 日发布,今天标志着它发展的第 5 年!

为了庆祝这个场合,我们发布了 jQuery 1.5 的第一个测试版本!我们 计划 在 10 天内发布最终的候选版本,并在月底发布最终版本。

我们还宣布三位新成员加入 jQuery 核心开发团队:Julian Aubourg、Colin Snover 和 Anton Matzneller。他们三人对 1.5 版本的发布做出了重大贡献 - 提供了重要的代码贡献、错误修复和分类。请借此机会欢迎他们加入!

此外,我们也要借此机会感谢 jQuery 社区的所有成员,他们帮助我们发布了这个测试版本 - 特别是 错误分类团队 的所有成员。

我们希望鼓励社区中的每一个人尝试并参与进来,为 jQuery 核心做出贡献。我们已经建立了一个完整页面的信息,专门用于帮助您更深入地参与团队。团队已经就位,随时准备帮助您帮助我们!

所以,让我们开始吧 - jQuery 1.5 Beta 1!

jQuery 1.5 Beta 1

您可以从 jQuery CDN 获取代码

您可以通过将该代码放入您的现有应用程序中并告知我们是否出现任何问题来帮助我们。请 提交错误报告 ,并确保提及您正在使用 jQuery 1.5 Beta 1 进行测试。

jQuery 1.5 Beta 1 变更日志

这是一个简要的变更日志 - 完整的发布说明将在最终的 1.5 版本中发布。

  • Julian Aubourg 重新编写了 Ajax 模块。这是本次发布中最重大的变更,为 $.ajax 带来了许多性能、稳定性和功能方面的改进。更多信息可以在这里找到 here #7195
  • 现在支持 jQuery 中的子类化 #7901
  • 删除了使用 noConflict() 时发生扩展冲突的可能性(V8 速度很快!)。扩展字符串现在使用随机数 + jQuery 版本来区分 jQuery 的实例,而不是毫秒计时器。 #6842
  • $.get 和 $.post 中的代码重复消除。 #7847
  • 当本机浏览器事件在 DOM 中冒泡时,确保 jQuery 的事件对象反映正确的 isDefaultPrevented 值。 #7793
  • 不再在 buildFragment 中缓存非 HTML 字符串,以避免与 Object 方法(如 toString)的名称发生可能的冲突。测试表明这可能也带来适度的性能改进。 #6779
  • 更新了 cloneCopyEvent,使其在克隆元素时不会创建多余的数据对象。公开了一个新方法 $.hasData,用于确定对象是否包含任何数据。 #7165
  • 在复制事件时使用 for 循环而不是 for/in 循环,以便代码可以与增强的 Array.prototype 一起使用。 #7809#7817
  • 修复了 fadeIn 在内联元素中无法正常工作的错误。 #7397
  • 重新编写了 IE 的克隆函数,使其在所有已知情况下都能正常工作。 #4386#5566#6997
  • 修复了 IE 在对普通 JS 对象分发“submit”事件时崩溃的问题。 #6398
  • 修复了 1.4 中导致脚本传输的缓存控制设置不正确的回归问题。 #7578
  • 提高了 get() 对负索引的性能。 #5476
  • 如果属性包含回车符(\r)字符,hasClass、removeClass 在 IE 中将无法工作。 #7673
  • 修复了 1.4.4 中的一个回归问题,该问题会导致在非 DOM 元素上调用 $.fn.data 时没有参数而崩溃。 #7524
  • 修复了 IE 中由 $.ajax 的自定义中止函数引起的内存泄漏。 #6242
  • 防止在 IE 中的禁用元素上触发实时事件。 #6911
  • 修复了 1.4.3 中导致将 Location 对象发送到 $.ajax 无法再工作的回归问题。 #7531
  • 修复了一些遍历方法执行了不必要的唯一性检查的问题。 #7964
  • 我们现在支持能够指定回调函数来处理特定的状态代码#4964
  • 修复了 ?? 作为 JSONP 请求的回调函数名称的上下文无关占位符不被支持的问题。 #4897
  • 从 dataFilter 返回的数据没有被传递到 ajax complete() 回调函数。我们现在使用 jXHR 的 promise 接口来获取实际的响应。 #4825
  • 我们现在确保 buildFragment 在所有浏览器中都能正确地克隆元素。 #6655#3879
  • 修复了在 IE8 中绑定自定义事件时发生的内存泄漏问题 #7054
  • 表单数据中的行现在使用 CRLF 作为分隔符(如 W3C 建议的那样)。 #6876
  • Ajax 请求现在在卸载时中止,以便仅在使用 xhr 传输时绑定事件。 #5280
  • 我们现在支持检测 =?,即使它在数据序列化过程中被转义了。 #5812
  • 如果用户使用 jsonpCallback 设置,我们现在会自动将 dataType 设置为“jsonp”。 #5803
  • crossDomain 选项现在强制 ajax 将请求视为跨域请求,即使它不是跨域请求。这在服务器将重定向到跨域 URL 时非常有用。 #5955
  • $.ajax(this) 允许重试,而不会出现 jQuery 1.4.3 中的递归错误。 #7461
  • 移除针对 Opera 9 早期版本的一个补丁,该补丁导致动画值小于 -10000 时无法正常执行。 #7193
  • 现在 ResponseText 会正确地传递给错误回调函数。 #7868
  • 脚本 onload 处理程序现在将事件作为第一个参数传递,因此 statusText 现在作为第二个参数传递给中断情况。 #7865
  • 关于 xhr,将 contentType 设置为 false 现在将阻止发送 Content-Type 头。 #7465
  • 在序列化文本时,我们现在根据 application/x-www-form-urlencoded 规范将所有换行符编码为 CRLF 对。 #6876
  • 修复了 IE6 中的一个 bug,该 bug 导致某些事件处理程序引发跨页面内存泄漏。 #7762
  • 跨域检测测试现在包括检查协议、主机名和端口。 #7465
  • 修复了一个问题,该问题导致包含点的 ID 在不返回结果的情况下中断 find()。 #7533
  • 修复了 next/adjacent 选择器在没有 'prev' 元素的情况下不再工作的回归问题。 #7452
  • 修复了 1.4.3 版本的回归问题,该问题阻止了在节点类型为 1 的 DOM 元素节点上使用 attr() #7452, #7500,
  • 修复了在 IE8 中,包含 jQuery 1.3.2 会导致屏幕右侧出现边框的 bug。 #5575
  • 修复了将额外方法添加到 Array.prototype 并使用 jQuery.clone(true) 克隆元素导致无效事件绑定的问题。 #6355
  • 修复了在 Internet Explorer 中,nth-child 未正确处理空格的问题。 #7558
  • 修复了在使用 live 事件时,mouseenter/leave 类似于 mouseover/out 的 bug。 #5821
  • 修复了 1.4.3 版本中,eq() 选择器不再与 previous 和 adjacent 选择器一起工作的回归问题。 #7906
  • 更新了关于 event.currentTarget 的文档,以解决有关 jQuery.proxy 的任何混淆。 #7628
  • 修复了 xhr.setRequestHeader(‘Accept’,…) 将值附加而不是替换的问题。 #6230
  • 修复了 IE 中,ajax 方法无法处理以 '+xml' 结尾的 content type(如 rss+xml)的问题。 #4958
  • ajax 的更新现在允许任何请求被中断。 #3442
  • 修复了 FireFox 3.6.11 中的 .slideUp() 问题,该问题之前隐藏了 frameset 边框和图例,但留下了被其他元素覆盖的任何内容。 #7308
  • 我们现在支持跨浏览器 XML 解析。 #6693
  • 修复了在使用 dataType:’json’ 的 .ajax() 方法中,data 对象在 IE6 和 7 中未定义的 bug。 #6106
  • 修复了 JSONP 调用在调用完成时未删除 script 标签的问题。 #7418
  • 更新了文档,以反映在使用 delay() 与 show() 且未指定持续时间时的行为。 #7543

热链接将在 2011 年 1 月 31 日禁用

发布于 作者

最近,我们注意到来自直接链接到我们各种属性(jquery.com、jqueryui.com、dev.jquery.com 等)上的文件的网站的流量显著增加,而不是将文件下载并本地托管,或利用我们和其他人(Google、Microsoft 等)为此目的提供的 CDN。这种行为已开始对我们的网络性能产生负面影响,并阻止合法用户在高峰时段访问我们的网站。

为了提高我们网站对所有用户的性能和可用性,我们已禁用整个网络对图像的热链接。我们将在 1 月底禁用对所有其他类型内容(如 CSS 和 JavaScript)的热链接。 如果您的网站热链接到除 code.jquery.com 之外的 jQuery 域名,请注意,您必须在截止日期之前更新您的网站,否则它将无法正常运行。

有关如何升级您的网站以利用可用的 CDN 之一,或下载 jQuery 以在您自己的服务器上托管的信息,请访问

下载 jQuery
jQuery UI 1.8.7 发行说明

感谢您的合作!

2010 年 12 月 jQuery 社区更新

发布于 作者

欢迎来到 12 月的 jQuery 社区更新。我们希望您与家人一起度过了一个愉快的假期,并祝愿社区中的每个人新年快乐!

在今天的文章中,我们将介绍 jQuery Core 和 jQuery UI 的更新。我们期待您对它们的评论和反馈!

通往 jQuery 1.5 的道路

jQuery 团队本月一直在努力准备 jQuery 1.5 的发布。此版本中的一些更新代表了我们通过修复 bug 和规范化浏览器行为来持续致力于稳定性和一致性,而其他更新则是重要的重写,将提高库的性能、可维护性和多功能性。

发生了哪些变化?

您可以在本文的“更改日志”部分找到我们所做更改的完整列表。目前可用的最大更新是我们的全新改造的 $.ajax 组件,由其作者 Julian Aubourg 在下面进行了解释

您在 ajax 组件中看到的第一个变化可能是新的签名:jQuery.ajax( [ url ] , [ options ])。这使我们能够更轻松地使用默认选项获取 URL。当然,这仅仅是冰山一角,因为整个内容都从头开始重写,以提供许多新功能。

每种请求类型现在都支持超时和中断。本机 XHR 对象现在对开发人员隐藏,并提供了一个具有相同基本接口的新 jQuery 特定对象作为替代。这个“jXHR”对象提供通常的属性和方法来设置和获取头、中断请求以及查看 readyState、responseXML 和 responseText,但与本机 XHR 对象不同,它也充当 Promise。Promise 允许您在请求完成后添加成功、错误或完成回调,例如,现在可以编写类似 jQuery.getJSON( url ).error( errorCallback ) 的内容,它将始终工作,无论原始请求的状态如何。

在内部,新的 ajax 组件具有可插拔架构,这使得定义新的自定义数据类型和传输变得容易。自定义数据类型允许您为应用程序代码提供一致的响应对象,无论原始数据格式如何,自定义传输允许您执行诸如模拟测试的 ajax 请求、使用特定于浏览器的网络对象(如 XDomainRequest)或使用完全不同的机制执行远程调用(如 iframe 或 postMessage),而无需编写大量代码。最棒的是,任何此类添加都可以立即访问 jQuery.ajax 的全部功能(参数序列化、超时、延迟回调等),并且使用您已经熟悉的 $.ajax API 公开给应用程序代码。

最后,对现有的 ajax 选项添加了一些灵活性,并添加了新的选项。例如

  • 您可以为 success、error 或 complete 提供回调数组。非函数将被过滤,数组将被扁平化,因此您可以通过执行 options.complete = [ yourCompleteCallback , options.complete ] 轻松地在所有其他处理程序之前添加完成处理程序!
  • 新的“headers”选项使得可以设置请求头映射,避免了仅仅为了设置头而需要 beforeSend 回调的麻烦。

我们非常小心地确保现有单元测试通过,并且添加了许多其他测试,以帮助确保一切按预期运行并且不会破坏现有代码。

我如何提供帮助?

与往常一样,我们想邀请社区贡献新的补丁或帮助我们测试更改,以便我们能够尽快识别和纠正任何问题。

要执行测试,只需尝试将 jQuery 的开发版本 (jQuery-GIT) 放入现有应用程序的副本中。如果您遇到异常或出现奇怪的行为,请登录到 bug 跟踪器并 提交 bug请确保将版本下拉菜单设置为“git”。您还可以通过从侧边栏的下拉菜单中选择“jQuery 0 GIT”来在 jsFiddle 上测试代码。

要贡献补丁,Rick Waldron 编写了一个很棒的 jQuery bug 修复指南,其中介绍了如何开始使用 git、构建和测试 jQuery 以及如何查找新的 bug 来修复。如果您打算提交补丁,您还应该加入 Freenode 上的 #jquery-dev 频道,该频道是大多数关于 jQuery 开发的讨论发生的地方。

当前更改日志

  • 1.由 Julian Aubourg 重写 Ajax 模块。这是此版本中最重大的更改,它为 $.ajax 带来了许多性能、稳定性和功能改进。更多信息可以在上面找到。 #7195
  • 2.jQuery 现在将自己注册为 CommonJS 异步模块。这使得 jQuery 可以使用兼容的加载器(如 RequireJS 和 Yabble)参与浏览器模块加载。 #7102
  • 3.在使用 noConflict() 时,移除了 expando 冲突的可能性(V8 很快!)。expando 字符串现在使用随机数 + jQuery 版本来区分 jQuery 实例,而不是毫秒计时器时间。 #6842
  • 4.对 $.get 和 $.post 中的代码进行去重。 #7847
  • 5.当本机浏览器事件在 DOM 中冒泡时,确保 jQuery 的 Event 对象反映正确的 isDefaultPrevented 值。 #7793
  • 6.不再在 buildFragment 中缓存非 HTML 字符串,以避免可能与 Object 方法(如 toString)的名称发生冲突。测试表明这也可能提供适度的性能改进。 #6779
  • 7.更新 cloneCopyEvent,使其在克隆元素时不会创建多余的数据对象。公开了一种新方法 $.hasData,用于确定对象是否具有任何数据。 #7165
  • 8. 在复制事件时使用 for 循环而不是 for/in 循环,这样代码就可以与增强的 Array.prototype 协同工作。 #7809, #7817
  • 9. 修复了 fadeIn 在内联元素上无法正常工作的错误。 #7397
  • 10. 重写了 IE 的克隆函数,使其在所有已知情况下都能正常工作。 #4386, #5566, #6997
  • 11. 修复了 IE 在对纯 JS 对象分发 “submit” 事件时崩溃的问题。 #6398
  • 12. 修复了 1.4 版本中导致脚本传输的缓存控制设置不正确的回归问题。 #7578
  • 13. 提高了 get() 对负索引的性能。 #5476
  • 14. 如果属性包含回车符 (\r) 字符,则 hasClass 和 removeClass 在 IE 中无法正常工作。 #7673
  • 15. 修复了 1.4.4 版本中,在非 DOM 元素上调用 $.fn.data 而不带参数会导致崩溃的回归问题。 #7524
  • 16. 修复了 IE 中由 $.ajax 的自定义中止函数导致的内存泄漏问题。 #6242
  • 17. 阻止 IE 中的禁用元素触发实时事件。 #6911
  • 18. 修复了 1.4.3 版本中导致将 Location 对象发送到 $.ajax 无法正常工作的回归问题。 #7531

jQuery UI 1.8.7 和 Spinner、Menu 和 Tooltip

jQuery UI 团队一直在努力开发新功能。以下是他们的一些更新。

自上次社区更新以来,jQuery UI 1.8.7 已发布。该版本为 jQuery 1.4.4 提供了支持,并对 Button、Progressbar 和 Datepicker 进行了重大更新。有关该版本的详细信息,请阅读 jQuery UI 1.8.7 发布说明

此外,由 Jörn Zaefferer 在 jQuery UI 主分支 上发布了三个新插件:SpinnerMenuTooltip。这三个小部件已经开发了一段时间,每个小部件都有自己的里程碑版本。有关这些新小部件的更多信息,您可以阅读上面它们各自的发布页面。我们想邀请社区测试并提供对这些新小部件的反馈,如果您发现任何需要报告的错误或问题,可以在 jQuery UI 开发中心 中找到操作说明。

jQuery 每周开发会议

从 2011 年 1 月 4 日开始,我们将试行每周在 freenode 上的 #jquery-meeting 频道中举办一次 jQuery 核心开发人员和贡献者的开发会议。这些会议的议程将提前公布,任何希望参加的 jQuery 社区成员都非常欢迎。我们的第一次会议将于 1 月 4 日(星期二)美国东部时间晚上 9 点举行,讨论的主题将是 jQuery 1.5 路线图、问题分类以及基础设施讨论。该会议的完整议程可以从 这里 找到。

jQuery Podcast 上的 Wijmo

对于 官方 jQuery Podcast 的粉丝,我们想提醒您,第 40 集 现已开始流式传输或下载。在本集中,我们与 ComponentOne 的 Chris Bannon 谈论了名为 Wijmo 的新的基于 jQuery UI 的库。

捐款

jQuery 有助于让您的开发生活更轻松吗?您可能知道,jQuery 是一个开源项目,依赖于我们宝贵的志愿者和社区成员的时间和努力,完全由公众的捐款资助。如果您发现 jQuery 有用,我们想恳请您考虑做出少量捐款(即使是 10 美元也能起到很大作用)。jQuery 项目是 Software Freedom Conservancy 的一部分,因此您做出的任何捐款都是完全免税的。有关财务贡献的更多信息,请访问 http://jquery.org/donate

如果您无法捐赠任何款项,我们始终需要才华横溢的软件开发人员、IT 专业人员以及各个领域的极客来帮助开发和维护 jQuery 及其相关属性。如果您有兴趣贡献一些时间来帮助使 jQuery 变得更好,请与 团队成员 联系,或在 Freenode 上的 #jquery 频道中提问。

本期更新到此结束!感谢阅读;我们期待您的反馈。

2010 年 11 月的 jQuery 社区更新

发布日期 作者

欢迎来到 11 月的 jQuery 社区更新。

希望您喜欢昨天关于 jQuery Bug Triage 团队的特别 报道。在本月的社区更新中,我们将关注 jQuery 团队的更新、重要公告以及一个新的报道部分,其中我们将重点介绍我们认为对您有用的 jQuery 文章。让我们直接进入正题!

jQuery 赢得了 Packt Publishing 的最佳开源 JavaScript 库奖

我们很高兴地宣布,本月 jQuery 在 2010 年开源奖中获得了开源 JavaScript 库类别奖。代表整个 jQuery 团队,我们想感谢每天使用 jQuery 的设计人员和开发人员社区,他们强烈地想投票支持 jQuery 作为他们最喜欢的 JavaScript 库。

我们还要感谢 Packt Publishing 的颁奖。我们将利用这个奖项来推动 jQuery 项目的进一步发展。

[阅读更多]

Adobe 拥抱 jQuery


您可能听说 jQuery 创建者 John Resig 上个月在 Adobe MAX 上宣布 Adobe 将在它的一些应用程序中拥抱 jQuery。宣布的一些激动人心的发展包括 Dreamweaver 中对 jQuery Mobile 的支持,以及 Adobe 将使用 jQuery 作为其 Edge 工具生成的动画的基础。

[阅读更多]

11 月的新 jQuery UI 和 Mobile 版本

如果您错过了,jQuery UI 1.8.6 本月早些时候发布。除了对 jQuery 1.4.3 的官方支持外,该更新还包括对 jQuery UI 核心、小部件工厂、鼠标小部件和位置实用程序以及手风琴、自动完成、按钮、日期选择器、对话框、进度条和小部件的错误修复和增强功能,您应该一定要查看一下。有关该版本的更多信息,请查看以下链接

https://jqueryui-blog.jqueryjs.cn/2010/11/jquery-ui-1-8-6/

我们针对 jQuery UI 1.9 的第三个里程碑版本也已发布。该版本包含新的 Spinner 小部件(目前正在积极开发中),还包括对 Tooltip 和 Menu 小部件的重大更新。里程碑版本使开发人员可以更轻松地在小部件最终确定之前试用它们,以便我们能够在开发周期中尽早获得您的反馈。要了解更多信息,请参见

https://jqueryui-blog.jqueryjs.cn/2010/11/jquery-ui-1-9-milestone-3-spinner/

作为对 jQuery UI API 的重大改革的一部分,我们还想邀请社区对针对 jQuery UI API 的第一组拟议更改提供反馈,从手风琴开始。Scott Gonzalez 在这里提供了一个有关这些更改的完整分解

https://jqueryui-blog.jqueryjs.cn/2010/11/accordion-api-redesign/

您可能还会对我们本月发布了 jQuery Mobile 项目的第二个 alpha 版本感到高兴。该版本包括对原始 jQuery Mobile Alpha 1 版本的许多错误修复和增强功能。请阅读以下有关该新版本的更多信息

http://jquerymobile.com/2010/11/jquery-mobile-alpha-2-released/

Google CDN 上现已提供 jQuery 1.4.4

如果您喜欢链接到 Google 的 CDN 上的 jQuery,您会很高兴地知道 jQuery 1.4.4 现在也可以在他们的服务器上访问。如果您想链接到它,您可以使用

https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.4.4/jquery.min.js [缩小版本]

https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.4.4/jquery.js [未缩小版本]

即将举行的 jQuery 培训活动


小组培训是提高 jQuery 技能的好方法,Bocoup 的 Ben Alman 想宣布他们即将举办的活动

“Bocoup 再次提供为期 3 天的综合 jQuery 培训。课程将在波士顿的 The Bocoup Loft 举行,利润的 10% 将直接捐赠给 jQuery 基金会。我们刚刚发布了 2011 年第一季度的日期,因此请务必现在报名,因为课程名额有限。”

2011 年 1 月 5 日至 7 日(星期三至星期五)
http://training.bocoup.com/comprehensive-jquery-training-2011-01-05/

2011 年 3 月 2 日至 4 日(星期三至星期五)
http://training.bocoup.com/comprehensive-jquery-training-2011-03-02/

与 jQuery 创建者 John Resig 一起参加 jQuery Podcast 第 38 集和第 39 集

本月我们有两个很棒的官方 jQuery Podcast 新剧集 - 第 38 集和第 39 集以 jQuery 创建者 John Resig 为特色,您可以通过以下链接在线收听或下载它们

第 38 集 - jQuery 1.4.3 http://podcast.jquery.com/2010/10/29/episode-38-jquery-1-4-3/

第 39 集 - jQuery Mobile http://podcast.jquery.com/2010/11/10/jquery-mobile/

社区报道

jQuery 1.4.3+ 中的 CSS Hook 可扩展性

cssHooks 允许您“钩入”jQuery 获取和设置 CSS 属性的方式。这意味着您可以创建 cssHook 来帮助规范化浏览器之间的差异,或者向库存 jQuery.fn.css() 添加一些缺少的功能。David Petersen 关于 cssHooks 的精彩文章引起了我们的注意,我们认为它在您的项目中会很有用。

[阅读更多]

VisualStudio VSdocs 现在可用于 jQuery 1.4.3 和 1.4.4

Intellisense 对 Visual Studio 2010 开发人员来说是一个非常重要的功能,由于经常有人要求提供 jQuery 1.4.3、1.4.4 和 Mobile 的 VSdocs,我们想提醒您,可以在以下 链接 下载它们,这些链接由 appendTo() 提供。

JavaScript 和 jQuery 设计模式入门

在这本免费的在线书籍中,您可以了解在 JavaScript 和 jQuery 应用程序中使用设计模式的优势。提供了两者的示例代码,并且这本书是为初学者编写的,因此很容易学习它所教授的一些内容。

[阅读更多]

仅此而已。我们期待在几周内发布另一个更新,但在此之前,祝您的所有 jQuery 项目好运!。