jQuery 3.0 Beta 发布

发布于 作者

时机已到。在今天,jQuery 的十周年纪念日,jQuery 3.0 已达到 beta 状态。上周,我们宣布了 1.x 和 2.x 分支的最后一次次要版本。这些分支将继续接收补丁一段时间(即仅修复主要回归或错误);jQuery 3.0 是未来。如果您需要 IE6-8 支持,您可以继续使用最新的 1.12 版本。

jQuery Compat 的消亡

only-one

如果您阅读了 jQuery 3.0 alpha 博客文章,您可能还记得我们宣布了一个名为“jQuery Compat”的东西。您可以忘记它。1 月 12 日,微软 停止支持 IE8、IE9 和 IE10。我们不会走那么远,但我们正在停止支持 IE8。随着 IE8,jQuery Compat 也随之消失,甚至在我们发布最终版本之前。从现在开始,只会有一个 jQuery!

尽管 3.0 版本号,我们预计这些版本不应该给您升级现有代码带来太多麻烦。是的,有一些“破坏性更改”证明了主要版本号的提升,但我们希望破坏性不会真正影响太多人。jQuery Migrate 3.0 插件(发布时)将帮助您识别代码中的兼容性问题。您的反馈将对我们非常有帮助,因此请在您的现有代码和插件上尝试它!

您可以从 jQuery CDN 获取文件,或直接链接到它们

https://code.jqueryjs.cn/jquery-3.0.0-beta1.js

https://code.jqueryjs.cn/jquery-3.0.0-beta1.min.js

您还可以从 npm 获取 beta 版本

npm install jquery@3.0.0-beta1

 

主要变更

以下只是这些版本中主要新功能、改进和错误修复的亮点。完整的更改列表可在我们的 GitHub 错误跟踪器上找到。

.show().hide() 方法

在 jQuery 3.0 alpha 中,我们尝试将这些方法视为一个内联显示无移除器 (.show()) 和一个内联显示无添加器 (.hide())。这样做的好处是大大简化了这些方法并提高了性能(它需要的计算量少得多)。但是,这证明对我们的用户来说是个问题。删除内联 display:none 并不总是显示元素(如果元素被样式表隐藏,例如),这太常见了。我们意识到我们无法为 jQuery 插件提供一种简单的方法来确保显示一个元素。

我们已经恢复了该更改,并且我们保留的对 show 和 hide 方法的更改应该对您的代码影响更小。事实上,即使恢复了,我们 大大提高了隐藏许多元素的性能

关于 .data() 名称的特殊情况

我们已经更新了我们的 .data() 实现,使其更接近 HTML5 dataset 规范。现在所有键都从 kebab-case 转换为 camelCase,无论访问方法如何,并且数字不再参与转换。例如,我们不再区分 “foo-bar” 和 “fooBar”,但区分 “foo-42” 和 “foo42”。这些更改主要会在通过不带参数调用 .data() 来获取所有数据时,或者尝试使用转换后的键(.data(“foo42”))而不是原始键(.data(“foo-42”))访问数据时生效。

https://github.com/jquery/jquery/issues/1751

jQuery.Deferred 现在与 Promises/A+ 兼容

jQuery.Deferred 对象已更新,以兼容 Promises/A+ 和 ES2015 Promises,并通过 Promises/A+ Compliance Test Suite 验证。这意味着我们需要对 .then() 方法进行一些重大更改

  • .then() 回调中抛出的异常现在将成为拒绝值。 以前,异常会一直冒泡,中止回调执行并不可逆地锁定父级和子级 Deferred 对象。
  • .then() 创建的 Deferred 的解析状态现在由其回调控制——异常成为拒绝值,而非 thenable 的返回值成为完成值。 以前,拒绝处理程序中的返回值会成为拒绝值。
  • 回调始终异步调用。 以前,它们会在绑定或解析时立即调用,以两者中较晚者为准。
  • 进度回调函数不再能解析与其绑定的 Deferred 对象。

考虑以下示例,其中父级 Deferred 被拒绝,并且子级回调会生成一个异常


var parent = jQuery.Deferred();
var child = parent.then( null, function() {
  return "bar";
});
var callback = function( state ) {
  return function( value ) {
    console.log( state, value );
    throw new Error( "baz" );
  };
};
var grandchildren = [
  child.then( callback( "fulfilled" ), callback( "rejected" ) ),
  child.then( callback( "fulfilled" ), callback( "rejected" ) )
];
parent.reject( "foo" );
console.log( "parent resolved" );

从 jQuery 3.0 开始,这将首先记录“parent resolved”,然后调用任何回调,每个子级回调将记录“fulfilled bar”,并且孙级对象将使用 Error “baz” 被拒绝。 在以前的版本中,它会记录“rejected bar”(子级 Deferred 被拒绝而不是完成)一次,然后立即以未捕获的 Error “baz” 终止(未记录“parent resolved”,并且孙级对象未解析)。

虽然捕获异常对于浏览器内调试具有优势,但使用拒绝回调来处理它们更具声明性(即明确性)。 请记住,这意味着您有责任始终为使用 promise 时添加至少一个拒绝回调。 否则,任何错误都将被忽略。

可以通过使用现在已弃用的 .pipe() 方法(其具有相同的签名)来恢复旧行为。

我们还构建了一个插件,以帮助调试兼容 Promises/A+ 的 Deferred 对象。如果您发现存在一些被吞噬的幽灵错误,请查看 jQuery Deferred Reporter Plugin

jQuery.when 也已更新为接受任何 thenable 对象,其中包括本机 Promise 对象。

https://github.com/jquery/jquery/issues/1722
https://github.com/jquery/jquery/issues/2102

为 Deferred 添加了 .catch()

catch() 方法被添加到 promise 对象中,作为 .then(null, fn) 的别名。

https://github.com/jquery/jquery/issues/2102

移除了 jQuery.ajax 中的特殊 Deferred 方法

jqXHR 对象是一个 Promise,但也有额外的属性和方法。随着用户越来越多地采用 Promise 模式进行异步工作,例如 AJAX,为 jQuery.ajax 返回的 Promise 拥有具有重复方法名的特殊情况越来越不可取。因此,这些已弃用的名称已被删除。请使用相应的 done, fail, always 方法,而不是特殊的 success, error, complete

请注意,这不会对同名的 success, error, complete 回调函数 产生任何影响,这些回调函数仍然存在且未被弃用。这只会影响 Promise 方法!它也不会删除或弃用 abort 方法。

https://github.com/jquery/jquery/issues/2084

错误案例不会静默失败

也许在某个深刻的时刻,您会想知道:“窗口的偏移量是多少?” 然后您可能意识到这是一个疯狂的问题——窗口怎么可能拥有偏移量?

过去,jQuery 有时会尝试让像这样的一些情况返回某些内容,而不是抛出错误。在这种情况下,要求窗口的偏移量,到目前为止的答案一直是 { top: 0, left: 0 }。在 jQuery 3.0 的这个 beta 版本中,我们正在试验让这些情况抛出错误的想法,这样疯狂的请求就不会被默默地忽略。请尝试 beta 版本,看看是否有任何代码依赖 jQuery 来掩盖无效输入的问题。

https://github.com/jquery/jquery/issues/1784

.width(), .height(), .css(“width”) 和 .css(“height”) 返回十进制值(只要浏览器这样做)

以前,jQuery 在获取宽度和高度时会四舍五入值。一些浏览器返回子像素值——例如 IE 和 Firefox——有时用户在依赖这些值进行布局时需要这种精度。我们预计此更改不会对您的代码产生重大影响,但如果产生影响,请告知我们。

https://github.com/jquery/jquery/issues/1724

删除了已弃用的事件别名

.load.unload.error,自 jQuery 1.8 起已弃用,现在已不再存在。 使用 .on() 注册侦听器。

https://github.com/jquery/jquery/issues/2286

动画现在使用 requestAnimationFrame

在支持 requestAnimationFrame API 的平台上,几乎所有平台都支持 IE9 和 Android<4.4,jQuery 现在将在执行动画时使用该 API。 这应该会产生更流畅的动画并使用更少的 CPU 时间——并且在移动设备上还可以节省电池电量。

jQuery 几年前尝试使用 requestAnimationFrame,但与现有代码存在 严重的兼容性问题,因此我们不得不将其回滚。 我们认为我们已经通过在浏览器选项卡不可见时暂停动画解决了大多数这些问题。 尽管如此,任何依赖于动画始终以近乎实时运行的代码都在做出不切实际的假设。

.unwrap( selector )

在 jQuery 3.0 之前,.unwrap() 方法不接受任何参数。selector 参数提供了一种指定要删除哪些包装器的途径。

https://github.com/jquery/jquery/issues/1744

jQuery.fn.domManip 不可访问

jQuery.dirjQuery.siblingjQuery.buildFragmentjQuery.accessjQuery.swap 在 jQuery 1.12 和 2.2 中已被私有化。这些方法以及 jQuery.fn.domManip 始终仅供内部使用,并且从未记录过。我们终于使它们私有,以避免混淆。

https://github.com/jquery/jquery/pull/2182
https://github.com/jquery/jquery/issues/2224
https://github.com/jquery/jquery/issues/2225

某些 jQuery 自定义选择器的速度大幅提升

感谢 Google 的 Paul Irish 的侦探工作,我们确定了一些可以跳过大量额外工作的情况,当在同一文档中使用像 :visible 这样的自定义选择器多次时。 该特定案例现在快了 17 倍!

请记住,即使有了这项改进,像 :visible:hidden 这样的选择器也可能很昂贵,因为它们依赖于浏览器来确定元素是否实际显示在页面上。 在最坏的情况下,这可能需要完全重新计算 CSS 样式和页面布局! 虽然我们通常不阻止使用它们,但我们建议测试您的页面,以确定这些选择器是否会导致性能问题。

此更改实际上已包含在 1.12/2.2 中,但我们想重申一下 jQuery 3.0。

https://github.com/jquery/jquery/issues/2042

jQuery 十年及展望

发布于 作者

2006年1月14日,John Resig 去参加一个名为 BarCamp NYC 的活动,谈论他正在进行的一些项目。其中一个项目是 一个名为 jQuery 的 JavaScript 库。这是成为 有史以来使用最广泛的 JavaScript 库 的开端。

现在很难想象,但在 John 宣布 jQuery 的那天,已经有大约一打 JavaScript 库了,试图解决基本相同的问题。没有保证还需要另一个库,或者 jQuery 会走向何方。然而,在过去的十年里,jQuery 逐渐被广泛采用。很难找到今天不知道它的网络开发人员,或者不使用它的网页。

仅仅代码并不能使 jQuery 独一无二并推动其流行。它需要一个强大的用户和贡献者社区,他们伸出援手帮助新手掌握该库。John 特意认真倾听社区的意见,并结合来自这些互动的反馈,从而改进了代码和文档。jQuery 的形状是由使用它的人塑造的,并欣赏它简化了跨多个浏览器的开发方式。更令人瞩目的是,这一切都始于 Github 和 StackOverflow 之前的时代!

基于 jQuery 开发经验和社区见解,jQuery 基金会于 2012 年成立。它不仅包括 jQuery 项目,还包括其他开发生命周期部分的工具,例如 QUnit 用于测试和 Globalize 用于国际化。去年,我们与 Dojo 基金会合并,并扩展了我们支持的项目,包括 DojoGruntLodash 等。

基金会继续秉承使 jQuery 成功的原则,并倡导包容性、团队多样性以及赋能贡献者在开源社区中发挥领导作用。随着我们进入 2016 年,我们支持的项目数量不断增加,围绕这些项目的生态系统也在不断增长。当项目协作并共享核心原则时,生态系统就会蓬勃发展。通过促进这种协作,我们希望鼓励在开源 JavaScript 中产生新的想法和不同的观点。

在互联网的年代里,十年是一段漫长的岁月;这段时间里,网络开发发生了巨大的变化,网络本身也发生了变化。然而,开源项目的成功的基本公式始终如一:从一个好的想法开始,根据用户的需求(即使这些需求发生变化)进行调整,并让社区参与到项目的各个方面。让我们以用户使用我们的代码创建的内容以及它如何激励他们进一步推动网络发展来衡量我们的成功,而不是我们编写的代码。

祝愿 JavaScript 领域的开源创新再创辉煌十年!

jQuery Migrate 1.3.0 发布

发布于 作者

在发布 jQuery 1.12.0 和 2.2.0 之后,现在是时候更新 jQuery Migrate 插件了。此插件提供诊断信息,可以简化升级到新版本的 jQuery 的过程,因为它能够找出任何使用已弃用 API 或其他可能影响您的代码的 jQuery 更改的情况。

jQuery Migrate 1.3.0 版本添加了一些新的警告,用于已弃用的功能,并帮助您为即将发布的 jQuery 3.0 做好准备。(jQuery Migrate 的下一个版本将完全支持 jQuery 3.0,将具有更多新功能,但我们将稍后发布该新闻。)jQuery Migrate 1.3.0 中所做的完整更改列表可以在 问题跟踪器 中找到。您也可以在那里报告错误(如果发现)。请务必提供重现问题的测试用例。我们喜欢使用 jsbin.comjsfiddle.net

特别是,jQuery 1.12.0、jQuery UI 1.11.4 和旧版本的 jQuery Migrate 1.2.1 的组合会导致使用 .outerWidth 等方法时出现错误。如果您在升级到最新版本的 jQuery 后遇到此错误,请升级到此版本的 jQuery Migrate,问题应该得到解决。此版本还推出了 jQuery.migrateVersion 属性,正如您可能预期的那样,这次该属性的字符串为 "1.3.0"

你可以从所有熟悉的地方获取这个新版本

jQuery CDN: https://code.jqueryjs.cn/jquery-migrate-1.3.0.jshttps://code.jqueryjs.cn/jquery-migrate-1.3.0.min.js

npm: 只需 npm install jquery-migrate@1.3.0,该包在 https://npmjs.net.cn/package/jquery-migrate 上列出。

Bower: 在您的 bower.json 文件中,您可以在 dependencies 部分中使用以下内容来复制 CDN 文件

 "dependencies": {
    ...
    "jquery-migrate": "https://code.jqueryjs.cn/jquery-migrate-1.3.0.js"
  },

与往常一样,我们建议您将 jQuery Migrate 用作一种工具,用于查找和修复 升级网站到新版本的 jQuery 及其相关插件时出现的问题。非精简版本在控制台上提供广泛的诊断信息。充分利用它们,我们为您构建了它们!

非常感谢所有报告错误并提供代码或其他帮助的人,包括 c24wg7015412-trbvm-comgibson042KingRialmarkelogmgolMottiethbaymettimmywilocean90wbinnssmithwisec

jQuery 2.2 和 1.12 发布

发布于 作者

为了迎接新的一年,jQuery 团队一直在努力开发 2 个新版本:jQuery 1.12.0 和 2.2.0!这些版本包括许多错误修复和改进,以改善您的跨浏览器开发体验。我们预计这将是 1.x 和 2.x 分支的最后发布,然后再发布 jQuery 3.0。由于 jQuery 3.0 将有一些破坏性更改,因此在发布 jQuery 3.0 后,我们将继续支持 1.12 和 2.2,但仅针对主要回归进行补丁。顺便说一句,我们很快将发布有关 jQuery 3.0 的重大新闻!

性能改进

由于一种快捷方式,选择器引擎的性能得到了提高,该快捷方式立即使用预编译的 Sizzle 选择器,当选择器无法由本机 querySelectorAllmatchesSelector 方法处理时。这在某些实际案例中导致了显著的速度提升

新功能

我们在这些版本中添加了一些小的、非破坏性的功能。以下是一些亮点。

SVG 类操作

虽然 jQuery 是一个 HTML 库,但我们同意为 SVG 元素提供类支持会很有用。用户现在可以对 SVG 调用 .addClass().removeClass().toggleClass().hasClass() 方法。jQuery 现在更改 class 属性,而不是 className 属性。这也会使类方法在通用的 XML 文档中可用。请记住,许多其他功能将无法与 SVG 配合使用,如果您需要超出类操作的功能,我们仍然建议使用专门用于 SVG 的库。

jQuery.post(options)jQuery.get(options)

这些 ajax 快捷方式具有新的签名,它接受一个包含选项的单个对象。

jQuery.post({
  url: “/example”
});

Symbol/iterator 支持

我们添加了对 Symbol 类型和迭代器的支持,通过 Symbol.iterator 在 ES6/ES2015 中添加。可以使用 jQuery.type 检测到“Symbol”,并且 jQuery 对象可以在支持的地方使用 for-of 进行迭代。

for (element of $elements) {
  console.log(element);
}

jQuery.htmlPrefilter()

已添加一个新的钩子,用于过滤传递到 jQuery DOM 操作方法(如 .html().append().replaceWith())的 HTML。默认的预过滤器将单个标签转换为兼容 XHTML 的标签。此方法将允许用户绕过 某些边缘情况,删除脚本并清理输入。

jQuery.uniqueSort 别名

为了明确 jQuery.unique() 也进行排序,我们更新了名称。jQuery.unique 仍然存在,但 jQuery.uniqueSort 将成为记录在案的方法。此方法仍然仅用于按文档顺序对 DOM 元素进行排序;它不是通用的排序方法。

——————————————-

我们预计此版本不会有任何破坏性更改,但如果您在从以前的版本升级时遇到错误,请 告诉我们

您可以直接从 jQuery CDN 包含这些文件,或将它们复制到您自己的本地服务器。 1.x 分支包括对 IE 6/7/8 的支持,而 2.x 分支则不包括。

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

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

这些更新已经作为 npm 和 Bower 上的当前版本提供。有关获取 jQuery 的所有方式的信息,请访问 https://jquery.org.cn/download/。公共 CDN 今天会收到他们的副本,请给他们几天时间来发布文件。如果您急于开始,请使用我们 CDN 上的文件,直到他们有机会更新为止。

非常感谢所有参与本次发布的人员,包括测试、报告错误或提交补丁的贡献者,例如 Chris Antaki, Connor Atherton, Jason Bedard, Batiste Bieler, Leonardo Braga, Bastian Buchholz, Anne-Gaelle Colom, David Corbacho, Brenard Cubacub, Aurelio De Rosa, Hamish Dickson, Ben Edelman, Stephen Edgar, Esteban, Alexander Farkas, Joelle Fleurantin, flexphperia, Corey Frang, Xue Fuqiao, Oleg Gaidarenko, Richard Gibson, Michał Gołębiowski, Scott González, goob, Christian Grete, Veaceslav Grimalschi, Mu Haibao, Dan Hart, Frederic Hemberger, Sean Henderson, Nicolas Henry, Daniel Herman, Jon Hester, Victor Homyakov, Winston Howes, Daniel Husar, Yongwoo Jeon, Essam Joubori, Taehee Kim, Richard Kraaijenhagen, Veres Lajos, Marek Lewandowski, Reed Loden, George Mauer, Richard McDaniel, Amit Merchant, Calvin Metcalf, Dave Methvin, MightyBranch, Nazar Mokrynskyi, Matthew Mueller, Julian Alexander Murillo, Martin Naumann, Daniel Nill, Alexander O’Mara, Adrian Olek, Randson Oliveira, James Pearce, Gilad Peleg, Bruno Perel, PhistucK, PJ, Senya Pugach, Aditya Raghavan, Liza Ramo, Chris Rebert, Anthony Ryan, Gabriel Schulhof, Mike Sidorov, Nick Stefan, Arthur Stolyar, Zheming Sun, Jun Sun, Timo Tijhof, Ben Toews, Thomas Tortorini, Shivaji Varma, Arthur Verschaeve, Rick Waldron, Bin Xin, Norman Xu, Gary Ye, Imran M Yousuf, 和 Jörn Zaefferer

 

完整的变更日志

2.2.0

Ajax

  • 删除对 IE6/7 的解决方法 (e519098)
  • 删除 ajax 模块对事件的依赖 (4e7f34f)
  • 修复 ajaxSend 中已中止请求的问题 (#1775, 598ed05)
  • 使用锚标签解析 URL (#1875, b091fdb)
  • 简化 jQuery.parseXML 方法 (5a0867d)
  • 修复非默认端口的跨域检测测试 (83b038f)
  • $.post 和 $.get 现在可以接受一个选项对象 (#1986, 89ce0af)
  • 简化一个 ajax 调用并添加说明性注释 (0ac28ed)
  • 使 jQuery#load “type” 字段明确 (4ef120d)
  • 将 “jqXHR.complete” 回调替换为 “always” (97ef1f2)
  • 删除 jQuery#each 第二个参数的使用 (a4715f4)
  • 删除 “onunload” 事件处理程序 (a117dd0)
  • 删除通过 “jQuery#removeProp” 方法进行的 jsonp 回调 (#2323, a2ae215)
  • 考虑 Android 2.3 未在脚本错误上触发 window.onerror (6044fb6)
  • 不要引用 “throws” 选项 – 使用点符号代替 (#2571, c9cf250)
  • 更正缩进 (cb087ce)
  • 改进 content-type 检测 (#2584, 239169b)
  • 在原生中止时触发错误回调 (#2079, 76e9a95)
  • 不要在二进制数据响应上抛出异常 (#2498, 769446c)
  • 代码风格修复 (8a896df)

Attr

  • 使用 typeof 检查 getAttribute 方法 (075da30)

属性

  • 仅将 A-Z 转换为小写属性名称 (22c33bf)
  • 删除不必要的元素 null 检查 (55ac56a)
  • 在 select val 钩子中使用选项 val 钩子并简化它 (#1902, f6302b0)
  • 修复新返回值失败的测试 (5dc4616)
  • 添加 SVG 类操作 (#2199, 20aaed3)
  • 撤销返回非元素时的 null (7632b74)
  • 修复 IE11 中 的 tabIndex (#2647, c752a50)
  • 撤销返回不存在的属性时的 null (2905961)
  • removeClass() -> attr(“class”, “”) (5db1e05)
  • 使用更简单的布尔检查而不是函数调用 (4bf1a09)
  • 当属性不存在时返回 null (#2118, aaeed53)

作者

  • 更新 AUTHORS.TXT 和 .mailmap (03557db)

构建

  • 更新 QUnit 至最新版本 (1.17.1) (2d5c5d2)
  • 确认 Android 2.3 不兼容 ES5 (#2478, 1c59b30)
  • 花括号和括号之间的空格是可选的 (#2399, 63a577a)
  • 将 JSHint 指令移动到 .jshintrc 文件 (15a609f)
  • 更新 AUTHORS.txt (8f13997)
  • 添加注释说明为什么需要 es3 选项 (669cb16)
  • 升级到 commitplease 2.0.0 (5bc1ddc)
  • 重构 Node 烟雾测试 (9c8a3ec)
  • 更新版本至 3.0.0-pre (7a607c5)
  • 修复各种拼写错误 (dc4b914)
  • 更新 jscs 和 lint 文件 (#2056, 10fdad7)
  • 更正 jscs 路径 (99975c4)
  • 删除构建输出中的空 define({}) (#1768, 2c1b556)
  • 更正可以自动更正的样式测试文件 (e35bdc1)
  • 更新 commitplease dev 依赖 (39b7606)
  • 更新 grunt-contrib-jshint (1556c46)
  • 删除 bower.json lint 目标 (285cfbf)
  • 修复 AMD 模式下的测试 (6051609)
  • 由于 uglify 中的安全问题,更新 grunt-contrib-uglify (835e921)
  • 更新许可证属性 (#2331, 8e92e1e)
  • 更新 requirejs 依赖到 2.1.17 (#2290, a644101)
  • bower.json: 移除多余的 `version` 字段 (61e21a4)
  • 将“lint”命令放回“dev”列表 (5adf04a)
  • 升级到 grunt-bowercopy 1.0.0 (323e82c)
  • 考虑 Sizzle 版本中的版本标签 (#1939, 78ac753)
  • 更新 node 依赖 (9101704)
  • Sizzle 版本标签必须以破折号开头 (d6c97ab)
  • 不要假定浏览器环境;在 Node 中使用 jsdom 进行烟雾测试 (#1950, 76df9e4)
  • 移除版权声明中的日期 (66e1b6b)
  • 指定提交消息中有效的组件 (0c9d018)
  • 修复贡献者的电子邮件地址 (ab30934)
  • 移除未使用的 Sizzle 测试文件 (8d11310)
  • 将所有外部库移动到 external 目录 (c5d9d88)
  • 默认情况下,不要在 Node.js 0.10 和 0.12 上安装 jsdom 3 (#2519, dbb2daa)
  • 为 Node 和 iojs 测试使用不同版本的 jsdom (#2266, 5c3101f)
  • 将 grunt/npm 任务重新排列为 build/dist/test 模式 (bb928bd)
  • 移除 npm 作为依赖 (b92acf7)
  • 使 Wrap 组件名称状态标准化 (a4133ff)
  • 停止 io.js 测试,在最新的 Node.js 上测试 (250a199)
  • 在 .travis.yml 中使用双引号 (06320c8)
  • 在 Node 5 上测试 (cbe5b2b)
  • 加速 Travis 构建 (31f4f8e)
  • 移除 .travis.yml 末尾的双空行 (cea94a8)
  • 忽略 npm install 的测试依赖 (35f8e15)
  • 将 Sizzle 更新到 1.11.1 并包含许可证 (c0b23e2)
  • 更新 grunt-bowercopy (712e78c)
  • 将“deprecated”添加到 Testswarm 模块列表中 (1144e75)
  • 更新许可证 (4f776e5)
  • 更新 Sizzle (#2042, #1969, 3a0dd5a)
  • 将测试移动到适当的模块 (fbdbb6f)
  • 将 Sizzle 更新到 2.0.0 (bcca4f0)
  • 添加 mailmap 条目 (3ec73ef)
  • 停止使用 bower;使用 npm 作为前端依赖 (#15186, e1949f4)
  • 更新前端依赖 (8356948)
  • 修复因 QUnit 更新导致的断言错误 (8b6aeae)
  • 将 2.2-stable 版本更改为 2.2.0-pre (c56e8b6)
  • 再次更新 native-promise-only (f5aa89a)
  • 将 Sizzle 更新到 2.2.1 (#2390, 44f8239)
  • 更新 native-promise-only (0065e1f)
  • 移除已弃用的 JSHint 选项 (34da7d5)
  • 稍后更新 sinon (#2160, 98c25b7)
  • 更新 node 依赖,排除 jscs (8e3a0ce)
  • 更新 grunt-jscs-checker 并使用新规则通过 (c869a1e)
  • 更新新 grunt jshint 的 source map 选项 (269a27c)
  • 修复包含“var”的 base path 问题 (#2450, 0c34e68)

Callbacks

CONTRIBUTING

核心

  • 对齐分支:移除未使用的变量,添加注释 (f6de5a9)
  • 使用 interactive 评估 dom ready,排除 IE9-10 (#2100, dabd5ba)
  • 测试 intro.js 中的所有工厂用例 (#2181, ab40725)
  • 添加对 isArrayLike 中 iOS JIT 错误的解决方法 (#2145, 1541664)
  • CSS:Event: 简化本机方法签名 (85577a3)
  • 允许 init 接受用于 migrate 的替代根 jQuery (#2101, 7a6931d)
  • 移除节点上的 isArraylike 检查 (#2238, 436f0ae)
  • 标准化 indexOf 比较 (53aa87f)
  • 支持 jQuery.type 中的 Symbol 包装对象 (8a73434)
  • 使 isNumeric 测试对 Symbol 起作用 (0703fd5)
  • CSS: 禁用 Opera 12 的 2 个测试 (13d2de7)
  • 移除 jQuery#constructor 的不必要的参数 (98cee73)
  • 更新测试的 jsdom,移除过时的解决方法 (#2153, 06f6cd1)
  • 更改 jQuery.each 和 jQuery#each 签名 (#2090, 2380028)
  • 重新引入 parseHTML 中的 createHTMLDocument;Safari 8 遗漏了 (cfe468f)
  • 恢复添加 createHTMLDocument。感谢 Safari 8。(b779831)
  • 始终使用本地引用访问() (2fb719e)
  • 将空字符串传递给 createHTMLDocument 以安抚 IE (31c7d7f)
  • 移除不必要的 createHTMLDocument 支持测试 (5923282)
  • 在 jQuery.parseHTML 中使用 document.implemenation.createHTMLDocument (58c2460)
  • 简化并加速 .each (eeda11c)
  • 简化“each”样式表迭代测试 (fcb6c4d)
  • 添加 isPlainObject(Symbol) 的单元测试 (#2645, 9090d98)
  • 遵循 AMD 规范来定义 (892625b)
  • 使 jQuery 对象可迭代 (#1693, bb026fc)
  • 使用 window.setTimeout 和朋友而不是全局等效项 (#2177, 219c749)
  • 不要暴露 jQuery.access (#2513, 9adfad1)
  • 切换到仅使用 window.setTimeout 等模块 (842958e)
  • 移除 strundefined 变量 (29838b6)
  • 组织 prop 和 attr 代码以保持相似 (5153b53)
  • 调整注释和测试,移除对 Safari 6 的支持 (93bee47)
  • .each/.map 应该接受未定义/null 值 (#2267, bf48c21)
  • 为 Safari 8 添加支持注释 (d242753)

Css

  • 修复“理智检查”测试 (995f707)
  • 移除非功能性的负边距单元测试 (4ab7431)

CSS

  • 修复 :visible/:hidden 选择器对于带有内容的内联元素 (#2227, 79bcb29)
  • 在 css/support 中节省 20 个字节 (45ec73f)
  • 不要命名匿名交换函数 (0019a46)
  • 纠正对“auto”水平边距的错误表示为 0 (#2237, 487d5ca)
  • 为 html 和 body 使用预定义的显示 (a772418)
  • 支持任何适用单位的相对调整 (#1711, 9b03f6d)
  • 在冗余的 isNumeric 替换中使用 isFinite (3689963)
  • 清理 reliableMarginRight 中的内存泄漏 (#1795, 7d15b4d)
  • 更正注释中的错别字 (7e09619)
  • 当 offsetWidth 或 offsetHeight 为零时,元素被隐藏 (#10406, #13132, 10399dd)
  • 添加对 Symbol 的 isPlainObject 的单元测试 (#2792, b9a6958)
  • 不要缓存未识别的 CSS 属性名称 (#2015, d471842)
  • 合并双重 if 语句为一个 (7855a1a)
  • 添加针对负边距和定位的单元测试 (1b932bb)
  • 解决 IE11 全屏尺寸错误 (#1764, 90d828b)
  • 恢复用于获取像素的 .css(‘width’) 等的 hack (3747cc6)
  • 使 getStyles 函数更具可读性 (3a0d582)
  • 修复 Android 2.3 中的 pixelMarginRight 支持测试 (cdfc2d0)
  • 不要暴露 jQuery.swap (#2058, bb4d888)
  • 简化“defaultDisplay”模块 (c62486f)
  • 改进解释 IE11 全屏错误的注释 (8e4aac8)
  • 添加针对 issue gh-1764 的集成测试 (8887106)
  • 移除注释中多余的“到数字” (895ea68)
  • 移除对 getDefaultComputedStyle 的使用 (#15227, 274feb5)

数据

  • 将元素缓存移动到 element[expando] (#1734, d702b76)
  • 更新 element[expando] 缓存 (222ac3a)
  • 减少几个字节 (6f65f5f)
  • 恢复在 cleanData 中删除私有数据的操作 (#2127, 332fd94)
  • 在 cleanData 中删除用户数据 (#2503, 5fe76c6)
  • 避免对节点使用 delete (#1728, 95fb798)
  • 加速 $.fn.data() 的驼峰式键 (#1941, 72c4a06)
  • 查找带有驼峰式键的连字符数据 (#2779, c1511c6)
  • 避免在 expando 属性中使用非字母数字字符 (0cdec79)
  • 删除依赖于 applet 的测试 (#1938, 95c0a10)
  • 合并 register 和 cache 方法 (b5f7c9e)
  • 避免对 DOM 节点使用 delete (0e98243)
  • 不要暴露 jQuery.acceptData (#2555, 2242719)
  • 在 acceptData 测试中使用 PDF 对象而不是 Java applet (#1938, 087d280)
  • 在获取单个属性时不要创建数据缓存 (f5bf9bc)
  • 在没有更多数据时删除 expando (#1760, 56bb677)
  • 删除一些未使用的代码 (764dc94)

Deferred

  • 修复带有已解决的 deferred 和进度回调的 $.when (#1894, ab20d9d)
  • 始终在 done/fail 之前处理进度回调 (#2013, #2010, 002240a)

已弃用

  • 修复已弃用模块的 amd 模式 (e271f66)

Dimensions

文档

  • 修复 README 中的大写 (b50e0f2)
  • 删除 README 中的冗余说明 (#2359, 3c92770)
  • 更正 README.md 中的 grunt 命令 (#1850, 9d6beac)
  • 1.x-master 分支 -> compat 分支;2.x 分支 -> master 分支 (758fd6c)
  • 澄清自定义构建说明 (a3779bc)
  • 添加关于 Sizzle 在 compat 分支上不可排除的说明 (#2184, 062b526)
  • 修复各种拼写错误 (360a478)
  • “npm run build” 缺失于贡献指南 (735dea3)

Effects

  • 使用 jQuery.easing._default 设置默认缓动 (#2219, 5f2ea40)
  • 移除 jQuery.Animation 和 jQuery.Tween 的测试 (a5864ae)
  • 改进 raf 逻辑 (708764f)
  • 完成应该调用 progress (#2283, 3dd3d13)
  • 手动撤销两个 `requestAnimationFrame` 提交 (0a98623)
  • 添加 Animation 和 Tween 中 jQuery.easing._default 的测试 (6d7ef56)
  • 添加 jQuery.Tween 的单元测试 (cdaed15)
  • 添加 jQuery.Animation 的单元测试 (b3b2d6c)
  • 重新引入 requestAnimationFrame 的使用 (#15147, 72119e0)

事件

  • HTML5 drop 事件从 MouseEvent 继承 (#2009, d7e5fce)
  • 确保委托不会在注释节点上出错 (#2055, 493b0fd)
  • 移除 preDispatch 钩子并简化“simulate”签名 (3655c4e)
  • 将 detail 属性复制到 jQuery.Event 的原生事件 (#1867, d9ed166)
  • 完全清理单元测试中的事件 (4467ed6)
  • 更新 mouseenter/mouseleave 实现的支持注释 (2792845)
  • 添加关于 Chrome 中 mouseenter 错误的说明 (a5e1c9b)
  • 应该忽略空的命名空间,不会产生任何影响 (8653068)
  • 移除过时的 originalEvent hack (6df669f)
  • 从 jQuery.Event.simulate 中移除假的 originalEvent (#2300, 7475d5d)
  • 为事件别名添加基本的单元测试 (#2302, e05c63e)
  • 修复使用箭头键时委托的 radio 事件 (#2343, c82a668)
  • 使事件别名在单元测试中成为可选的 (2cb8eba)
  • 为 focus(in | out) 提供详细的注释,并重命名 support 属性 (c074006)
  • 将 .bind() 和 .delegate() 移动到已弃用类别 (#2288, ee0854f)
  • 将 trigger/simulate 移动到自己的模块 (#1864, c9935b6)
  • 将 VML 测试移出事件别名测试 (67fa2ea)
  • 移除 on 方法的内部参数 (04a2969)
  • 修复 iframe 中 scrollTop/Left 的 window 错误 (#1945, d21edb5)
  • 修复错误的测试 (d923100)
  • 恢复 jQuery.Event 原型上的 `constructor` 属性 (#15090, b807aed)
  • 仅检查元素是否存在委托匹配项 (9d820fb)
  • 移除事件方法上的冗余保护 (#2047, a873558)
  • 添加 support 注释 (9db9316)
  • 更正 support 注释 (361a0d5)
  • 规范化拖动事件中的鼠标事件属性 (#1925, 97cf528)

操作

其他

  • Mac OS 现在是 OS X,感谢 @xfq (d30c482)
  • 修复测试,撤销一些不必要的/错误的撤销 (1ad9915)
  • Need for speed 被 9ad6e7e 移除 (ff928f5)
  • 更新所有对 bugs.jquery.com 的引用 (#1681, 3e89a53)
  • 移除测试中多余的 -moz-box-sizing (e81b258)
  • 调整注释和文档以删除 jQuery Compat 中的 IE<8 (c309b95)

Offset

  • offsetLeft/Top 在空集上返回 undefined (#2319, 2937019)
  • 允许 offset setter 对断开连接的元素抛出错误 (#2114, 0d11c11)
  • 允许 offset.top 的小差异 (#2590, 9f9e204)
  • 不要在 Android 2.3 和 4.0 中运行 scrollTop/scrollLeft iframe 测试 (#1981, 0c46643)
  • 添加隐藏元素 + scroll 的测试 (b041242)
  • 为了避免 IE8-11 中的错误,在 getBoundingClientRect 之前返回 (0e4477c)
  • 为了浮点错误,四舍五入 offset 值 (#2147, 62ae2d0)
  • 为断开连接/隐藏的元素返回零 (#2310, 40dcc76)
  • 简化了一个条件 (4287442)
  • 考虑滚动来计算位置 (#1708, 2d71594)
  • 不要在移动 Safari 中运行 scrollTop/scrollLeft iframe 测试 (4ab8603)
  • 简化 jQuery#offsetParent 方法 (74ae544)
  • 不要运行在没有向后兼容性更改的情况下会破坏的测试 (9d1d4c2)

Readme

  • 修复小样式问题。感谢 @MightyBranch! (edfc94d)
  • 修复 tile 中的标点符号 (df62159)

README

  • 改进构建说明 (2e9c1ea)
  • 更新已弃用模块的描述 (1d75273)
  • 各种文本修复 (31b63fc)
  • 添加 selector-native.js 链接。感谢 @randsonjs! (cfe2eae)
  • 更新 Homebrew 网站地址 (b410b15)

发布

  • bower.json 实际上是从头开始生成的 (61224f5)
  • 更新 AUTHORS.txt (ae3229c)
  • 将文件分发到分发仓库 (#1869, #1673, #2045, 26eca14)
  • 移除过时的 release-notes.js (7bb39f3)
  • 正确设置实际发布时的 dist 远程 (c44dd77)
  • 移除撤销工件 (3655260)
  • 更新 AUTHORS.txt (e905dcd)
  • 修复撤销工件 (e2af987)
  • 允许本地和 github dists (47c21ef)
  • 确保文件被复制到 dist (b4e139c)
  • 移除复制 jquery-latest 文件的操作 (c34ed46)
  • 移除撤销工件 (c69673f)
  • 将 dist 推送到与项目相同的远程 (1ba45fc)
  • 修复撤销工件 (ae88b39)
  • 从压缩文件的所有副本中移除 sourcemap 注释 (#1707, a76c781)
  • 修复 CDN 存档创建 (#1940, e0673df)
  • dist 可以在测试期间运行 (aae998b)

选择器

  • 使用 selector-native 通过 jQuery 单元测试 (#1742, #2048, 8804644)
  • 移除标识符标记中的“#”异常 (86e62d8)
  • 在 selector-native 中定义 jQuery.uniqueSort (#2466, bf591fb)
  • 添加 jQuery.unique() 别名的测试 (add85af)
  • 添加 jQuery.uniqueSort;弃用 jQuery.unique (#2228, e1090c3)

序列化

  • 处理带有 null 值的数组 (3d7ce0a)
  • 修复对象检测 (14c0fe4)

Sizzle

支持

  • 重新组织浏览器顺序,添加 Safari 8 (43faf6d)
  • 更正 iOS 8 支持测试结果,重新排列条目 (ce308e2)

Tests

  • 峰会后的清理 (f931786)
  • 使用标准外部域名 (5b554cf)
  • 使基本测试在 IE 8 中工作 (5914b10)
  • 当选择基本模块时,不加载非基本测试 (855b0c8)
  • 为 Android 2.3 添加简单的测试 (#2505, 2c7e9c9)
  • 降低检查舍入误差 (a44cfa0)
  • 使用 QUnit URL 参数解析 (f23a64d)
  • 更多样式修正 (c161eec)
  • 禁用/放宽在 Android 2.3 中失败的几个测试 (#1785, 1a9c9b0)
  • 进一步改进 QUnit 2.0 迁移 (c8d15a2)
  • 修复与新的 :visible 行为一致的测试 (16713fb)
  • 针对 c1511c673148208ab17cafa0faf37bce3b4ae392 的补丁 (3f839af)
  • 降低 unreleasedXHR.html 中的 PHP 休眠时间 (02e1008)
  • 更正 Android 2.3 的支持测试结果 (4fea389)
  • 添加 Safari 9 支持测试结果 (e99a3ac)
  • 在运行基本测试时添加虚拟模块 (f9af896)
  • 阻止 Opera 12.1x 中的 iframe scrollTop 测试 (283a194)
  • 不要定义两个同名的模块 (#2437, 7aa46e0)
  • 部分使用新的 qunit 接口 (#2540, b930d14)
  • 更正匹配 Safari 8 的正则表达式中的一个拼写错误 (c17543f)
  • 根据样式指南更改引号 (c577928)
  • 修复恢复的测试中的 lint 错误 (636a2bd)
  • 删除与 compat 分支兼容的尾随逗号 (dc8ba6a)
  • 使 editorconfig 与 css 样式匹配 (1da1448)
  • 使 HTML 套件的顶部符合样式指南 (8356281)
  • 接受 Android 2.3 不会为远程脚本触发 window.onerror (2732531)
  • 添加 Microsoft Edge 结果(来自 Windows 10 build 10130)(8e111df)
  • 保留测试 iframe 以进行断言 (0fb84fa)
  • 在 jQuery.grep 中考虑类数组对象 (67b76f5)
  • 修复代码风格问题 (625bd30)
  • 修复支持测试结果 (f6dd767)
  • 在原始事件 UA 嗅探中考虑 Edge (#2357, 64fd7ef)
  • 删除 Safari 7.0 和 iOS 6 支持测试结果 (47e2aa6)
  • 从用户代理中删除 Edge 版本 (5a1217e)
  • 尝试解决几个样式指南难题 (906caeb)
  • 适应 QUnit HTML 报告页面的更改 (3c13f4c)
  • 删除 test/data/ua.txt (#2398, e831856)
  • 为 QUnit 1.16 兼容性进行小更新 (26276a3)
  • 更新 QUnit (6748ba3)
  • 添加 iOS 9 支持测试结果 (1c2b536)
  • 修复针对向下取整浏览器的 CSS 相对调整测试 (48be675)
  • 增加 QUnit 超时时间 (ff18d8e)
  • 为 IE 扩大 CSS 相对调整容差 (e22ef5d)
  • 不要使用弃用的参数进行测试声明 (aabe94e)
  • 以正确的顺序提供 equal() 参数(实际值,期望值)(d3d8d97)
  • 文档:修复各种拼写错误 (03eaadb)
  • 将当前版本的 node 和 iojs 添加到 travis 配置 (bd9a138)
  • 使 iOS 设备的正则表达式更严格 (015d16c)
  • 添加针对已定义访问器属性的 .extend 测试 (9748e43)
  • 修复 Safari 5.1 支持测试结果 (e904249)
  • 这次真正修复 IE 8 中的测试 (1b566d3)

Traversing

  • 不要暴露 jQuery.dir 和 jQuery.sibling (#2512, f9ef427)

1.12.0

Ajax

  • 添加支持注释并修复代码风格问题 (e38a94a)
  • 删除 ajax 模块中的事件依赖 (c580a52)
  • 修复 ajaxSend 中中止的请求 (#1775, 73c1cea)
  • 修复跨域检测测试中的非默认端口 (b635ee2)
  • $.post 和 $.get 现在可以接受一个选项对象 (#1986, 26150f0)
  • 仅在 TestSwarm 的 IE8 中运行 PATCH 测试 (#1994, 2524da0)
  • 使 jQuery#load “type” 字段明确 (1d3d2b1)
  • 将 “jqXHR.complete” 回调替换为 “always” (fd80f59)
  • 将解释性注释移动到适当的位置 (04fc801)
  • 删除 jQuery#each 第二个参数的使用 (0877733)
  • 在 IE9+ 中对所有非本地请求使用本机 XHR (#1684, 61f812b)
  • 在注释中将 Spartan 重命名为 Edge (8d88cd5)
  • 修复 IE8 的 XHR 回退逻辑 (bd699cb)
  • 删除通过 “jQuery#removeProp” 方法进行的 jsonp 回调 (#2323, 3d850ed)
  • 考虑 Android 2.3 不会在脚本错误上触发 window.onerror (b3eb2a1)
  • 不要引用 “throws” 选项 – 使用点符号代替 (#2571, c530661)
  • 缓解潜在的 XSS 漏洞 (#2432, f60729f)
  • 更正缩进 (2a83417)
  • 改进 content-type 检测 (#2584, 3ced5ab)
  • 不要期望在不支持它的环境中运行跨域测试 (905ab09)
  • 捕获同步 readystatechange 事件 (#2673, 0a6e1c4)
  • 不要让 onreadystatechange 抢占 xhr.send 中的异常 (b5c6fc7)

属性

  • 修复 IE6-7 类 (9e2f55f)
  • 不要在 IE8 中测试 SVG CSS 类操作 (57fb2dc)
  • 删除不必要的元素 null 检查 (0de798d)
  • 修复 IE8 问题 (f2bcf87)
  • 撤销返回不存在属性的 null (7bce5b0)
  • 删除选定属性的易出错测试 (689270e)
  • 修复 IE11 中 的 tabIndex (#2647, cf4092e)
  • 撤销返回非元素 null (a403655)
  • 添加 SVG 类操作 (#2199, b5b0d72)
  • removeClass() -> attr(“class”, “”) (f5328b6)
  • 使用更简单的布尔检查代替函数调用 (c003cd6)
  • 修复新的返回值失败的测试 (17bd6e9)
  • 当属性不存在时返回 null (#2118, afca031)
  • 简化选项 val hook;从 master 回溯一个测试 (#1902, aec41a5)
  • 修复 ie6/7 中的 toggleClass(boolean) (41c83f5)

作者

  • 更新 AUTHORS.txt 和 .mailmap (d39fef8)

构建

  • 更新 grunt-jscs-checker 并通过新的规则检查 (91e06e9)
  • 更新 grunt jshint 的 source map 选项 (181b451)
  • 更新 requirejs 依赖到 2.1.17 (#2290, a9296df)
  • 说明 sizzle 在此分支上无法移除 (#14775, 764f364)
  • 重新排列 grunt/npm 任务为 build/dist/test 模式 (0771973)
  • 更新 license 属性 (#2331, 8bf81d7)
  • 将“+compat”附加到标签版本和 jQuery.fn.jquery (#2269, d18b645)
  • 移除 bower.json lint 目标 (24a6bb9)
  • 更新 grunt-contrib-jshint (a022da7)
  • 移除 npm 作为依赖 (a16b77f)
  • 临时禁用 jscs 检查 (0e3fa47)
  • 代码风格修复 (8c507df)
  • 升级到 commitplease 2.0.0 (630a5a8)
  • 移除不必要的文件并重新启用 jscs (813b7e4)
  • 更新 Sizzle (#2042, #1969, 345c95a)
  • 1.x-master -> compat (2912ddd)
  • 在构建的文件中的横幅中添加“jQuery Compat” (8cd6875)
  • 更新 license (9dfb9af)
  • 指向 compat 分支的文件,而不是 master (b7663ea)
  • 修复各种拼写错误 (3f9fda8)
  • 移除 node .10 在 travis 中的配置 (498fd24)
  • 更新 native-promise-only (再次) (f9f4f9d)
  • 在 Node 5 上测试 (06840d8)
  • 所有撤销后的代码风格修复 (14eba98)
  • 忽略 npm install 的测试依赖 (ae7a15b)
  • 更新 commitplease 开发依赖 (a96ed7e)
  • 更新 AUTHORS.txt (799332f)
  • 升级到 grunt-bowercopy 1.0.0 (5150442)
  • 添加 mailmap 条目 (1682d36)
  • 在可能包含标签的版本中追加 +compat (8565f54)
  • 移除未使用的 Sizzle 测试文件 (62f7f7b)
  • 将所有外部库移动到 external 目录 (72e6192)
  • 更新 Sizzle 到 1.11.1 并包含 license (1c31384)
  • 更新 grunt-bowercopy (b3edc61)
  • 将“timers_ie.js”文件添加回仓库 (31e6697)
  • 修正缩进问题 (d0f27a7)
  • 添加注释说明为什么需要 es3 选项 (b988c0e)
  • 移除构建输出中的空 define({}) (#1768, 2138f15)
  • bower.json: 移除多余的 `version` 字段 (3699ef4)
  • 更新 Sizzle 到 2.2.1 (#2390, 20cd343)
  • 放弃 bower;使用 npm 作为前端依赖 (#15186, 79c0732)
  • 修复 jscs 路径 (fa8a5a9)
  • 更新 jscs 和 lint 文件 (#2056, 20ddbe4)
  • 在 Testswarm 模块列表中添加 “deprecated” (b94af72)
  • 移除 JSHint 中已弃用的选项 (9edd95f)
  • 修复 QUnit 更新导致断言失败 (98c77c1)
  • 大括号和括号之间可以有空格 (#2399, cbb0be6)
  • 更新前端依赖 (4089c7d)
  • 修复 AMD 模式下的测试 (57652ee)
  • 更新 grunt-contrib-uglify,因为 uglify 中存在安全问题 (2da0cca)
  • 更新 QUnit 到最新版本 (1.17.1) (db31206)
  • 又一次的代码风格修复 (f913a01)
  • 更新 node 依赖,除了 jscs (511eb15)
  • 考虑 Sizzle 版本中的版本标签 (#1939, ac70dd0)
  • 更新 node 依赖 (dda65fb)
  • 修复与 basePath 相关的错误,其中包含 ‘var’ (#2450, 4e3f971)
  • Sizzle 版本标签必须以破折号开头 (6bc0e50)
  • 修复贡献者的电子邮件地址 (648280a)
  • 加快 Travis 构建速度 (ba352e8)
  • 默认情况下,不要在 Node.js 0.10 和 0.12 上安装 jsdom 3 (#2519, 5f1c7fc)
  • 使 Wrap 组件名称的状态神圣 (abfb10c)
  • 移除版权声明中的日期 (a0bf5bf)
  • 指定提交消息中有效的组件 (6f0db53)
  • 移除 .travis.yml 末尾的双空行 (fc87a5c)
  • 在 .travis.yml 中使用双引号 (ca0dd7a)
  • 放弃 io.js 测试,测试最新的 Node.js (d29c394)
  • 将测试移动到适当的模块 (9953ae4)
  • 更新 native-promise-only (7b11131)

Callbacks

CONTRIBUTING

  • 精简信息并添加其他资源的说明 (#1824, 404d2aa)

核心

  • 始终使用本地引用访问() (eeab75d)
  • 添加对带有连字符的元素的支持 (f19595c)
  • 移除 jQuery#constructor 中不必要的参数 (dc76dca)
  • 支持 jQuery.type 中的 Symbol 包装对象 (c7cf286)
  • 简化 “each” 样式表迭代测试 (889bb1e)
  • 添加 isPlainObject(Symbol) 的单元测试 (#2645, d3a2fdc)
  • 在 parseHTML 中引入 createHTMLDocument;Safari 8/IE8 遗漏 (828a718)
  • 更改 jQuery.each 和 jQuery#each 签名 (#2090, 7cd9a36)
  • 移除对节点的 isArraylike 检查 (#2238, d693391)
  • 简化并加速 .each (4cc4e54)
  • 支持非浏览器环境 (#2133, #2501, 04ec688)
  • CSS: 将测试节点附加到 documentElement,而不是 body (#2502, 9b04201)
  • 使 isNumeric 测试在 Symbol 上工作 (d846c25)
  • 不要暴露 jQuery.access (#2513, 12230d3)
  • 调整注释和测试,删除对 Safari 6 的支持 (5fce498)
  • .each/.map 应该接受未定义/null 值 (#2267, 15f4804)
  • 添加对 Safari 8 的支持注释 (9c373c3)
  • 使 jQuery 对象可迭代 (#1693, 2fa3bac)
  • 使 intro.js 中的代码与 master 对齐 (fe2a584)
  • 更新已测试的 jsdom,移除过时的解决方法 (#2153, 19c0377)
  • 标准化 indexOf 比较 (6ae222a)
  • 移除 strundefined 变量 (835e8c4)
  • 组织 prop & attr 代码使其相似 (d0388e9)
  • 将 support.ownLast 更改为 support.ownFirst (#2406, 453738a)
  • 遵循 AMD 规范进行 define (acf2d0c)
  • 为 isArrayLike 中的 iOS JIT 错误添加解决方法 (#2145, 1e7a2f3)
  • CSS:Event: 简化原生方法签名 (49bce47)
  • 允许 init 接受一个替代的 rootjQuery 以便 migrate 使用 (#2101, c916aef)

Css

  • 修复“理智检查”测试 (da84cb6)
  • 移除非功能性的负边距单元测试 (1ece10f)

CSS

  • 添加对 hack 的支持测试,用于 .css(‘marginRight’) 等。(25bc680)
  • 修复 :visible/:hidden 选择器对于带有内容的内联元素 (#2227, dd816db)
  • 修复 AMD 模式下的新 showHide 模块 (0b6846c)
  • 修复 IE6/7 中的 visible/hidden (ecf52b9)
  • 使用 isFinite 代替冗余的 isNumeric (24ab836)
  • 防止 getBoundingClientRect 异常 (c40b12a)
  • 当 offsetWidth 或 offsetHeight 为零时,元素被认为是隐藏的 (#10406, #13132, 7b9b98d)
  • 添加针对 issue gh-1764 的集成测试 (7ee0fea)
  • 不要命名匿名 swap 函数 (e847574)
  • 修复 IE8 中 pixelMarginRight 支持测试 (4a67512)
  • 改进解释 IE11 全屏错误的注释 (5895340)
  • 移除注释中的冗余“转换为数字” (b59b819)
  • 修复 IE8 中的获取大写 alpha 透明度 (#1705, c5e8e12)
  • 支持任何适用单位的相对调整 (#1711, 6fb2cef)
  • 使 getStyles 函数更易读 (bf282ea)
  • 将 animation-iteration-count 添加到 cssNumber,修复测试 (#2792, 01fb17b)
  • 解决 IE11 全屏尺寸错误 ( #1764, 6df1bf9)
  • 移除 revert artifact (fc6ac9d)
  • 不要暴露 jQuery.swap (#2058, 02a9d9f)
  • 更正注释中的拼写错误 (787ffbf)
  • 移除 getDefaultComputedStyle 的使用 (44c9c4f)
  • 不要缓存未识别的 CSS 属性名称 (#2015, 42ea746)
  • 更正将“auto”水平边距表示为 0 的错误 (#2237, 214e163)
  • 修复 IE6-7 的 reliableHiddenOffsets 支持测试 (77f9b1e)
  • 修复 amd 的依赖顺序 (e185aa3)
  • 为 html 和 body 使用预定义的显示 (b05b6a2)
  • 添加负边距和定位的单元测试 (ae30fb6)
  • 清理 reliableMarginRight 中的内存泄漏 (#1795, fa70df6)

数据

  • 使用 PDF 对象代替 Java applet 进行 acceptData 测试 (#1938, 4e3c48f)
  • 不要暴露 jQuery.acceptData (#2555, bec2ba2)
  • 使用 removeAttribute 在 cleanData 中绕过 Chrome 错误 (#1664, 9d1d90e)
  • 从 gh-2480 移植 cleanData 测试 (624d6a8)
  • 测试 DOM 节点上是否使用了 delete (5a7674d)

Deferred

  • 通过新的 catch 测试 (203979d)
  • 始终在 done/fail 之前处理 progress 回调 (#2013, #2010, 35295f1)
  • 修复带有已解决 deferred 和 progress 回调的 $.when (efb98f8)

已弃用

  • 修复已弃用模块的 AMD 模式 (bd11778)

Dimensions

  • 允许修改坐标参数 (1eedf0e)

文档

  • 将 1.x 重命名为 compat (8992ac8)
  • 移除 README 中的冗余指令 (#2359, e6a492d)
  • 更正 README.md 中的 grunt 命令 (38ac3c4)
  • 澄清自定义构建说明 (8e738f0)
  • 修复各种拼写错误 (6af92ca)
  • 1.x-master 分支 -> compat 分支;2.x 分支 -> master 分支 (b8a0843)
  • “npm run build” 缺失于贡献指南 (5da5035)

Effects

  • Finish 应该调用 progress ( #2283, f71e32d)
  • 添加 jQuery.Tween 的单元测试 (6b10f9d)
  • 移除 jQuery.Animation & jQuery.Tween 的测试 (bc53033)
  • 在 Animation 和 Tween 中添加对 jQuery.easing._default 的测试 (b9b5c23)
  • 使用 jQuery.easing._default 设置默认 easing ( #2219, b7f9e62)
  • 移除测试中的不必要的操作 (13040b6)
  • 为 ie6 添加 support.shrinkWrapBlocks() (1f85ded)
  • 修复 IE8 中的失败测试 (fe6afa8)
  • 修复测试 (29561bc)
  • 添加 jQuery.Animation 的单元测试 (0ff8057)

事件

  • 使用 form prop 以便可以使用 propHook (#2332, ead83b9)
  • 改进 originalEvent hack (37c3d08)
  • 移除 on 方法的内部参数 (473d2db)
  • 空命名空间应该被无事件地忽略 (51564bb)
  • 修复不正确的测试 (e73a67f)
  • 添加 iframe 中 window scrollTop/Left 逻辑的测试 (2c14b00)
  • 将 .bind() 和 .delegate() 移动到已弃用 ( #2288, 7e78c2e)
  • 添加对 data 模块的引用 (2866da9)
  • 规范化 drag 事件中的鼠标事件属性 (#1925, 5b0b1b7)
  • HTML5 drop 事件从 MouseEvent 继承 (#2009, a05de40)
  • 添加关于 Chrome 中 mouseenter 错误的注释 (f3e3a20)
  • 提供 focus(in | out) 的详细信息 & 重命名 support props (401a351)
  • 恢复 jQuery.Event 原型上的 `constructor` 属性 (#15090, d4a998f)
  • 更正 support 注释 (fae2daa)
  • 减少与主分支的差异 (3923bb8)
  • 移除 preDispatch hook & 简化 “simulate” 签名 (05e54ce)
  • 添加 support 注释 (0fc5beb)
  • 减少与主分支的差异 (e4c5f87)
  • 更新 mouseenter/mouseleave 实现的 support 注释 (d176001)
  • 将 detail 属性复制到 jQuery.Event 中的原生事件 ( #1867, a90ff8c)
  • 修正未完成的注释 (ac23f91)
  • 修复使用箭头键时委托的 radio 事件 (#2343, 657c2f8)
  • 完全清理单元测试中的事件 (ef93f95)

操作

  • 重新暴露 domManip 直到 3.0 (#2225, 95de105)
  • 增加 data-URI 测试的延迟 (30ace26)
  • 支持 data-URI 脚本插入 (bc1902d)
  • 不要在 IE8 中测试 data-URI 与 script 元素 (503e545)
  • 检测偷偷摸摸的无内容 replaceWith input (#2204, 4cafb58)
  • 私有化内部 domManip() 函数 (#2225, 590eff6)
  • 修复 noCloneEvent 功能检测中的 IE8 内存泄漏 (#1840, faf295a)
  • 创建一个 HTML 拦截点 (#1747, fb25bac)
  • 私有化 buildFragment() 函数 (#2224, 63c1414)
  • 改进 data-URI 的测试 (a467f86)
  • 更新 html5shiv 元素 (#15241, a953389)
  • 修正 wrapMap 分配 (a5be90f)
  • 移除 remove 方法的内部参数 (#2301, b819be3)
  • 不要向解析器提供不规范的表格标记 (#2493, 81b6e46)
  • 将 rnoInnerhtml 切换到 IE 中性能更高的版本 (#2563, 29266e0)
  • 添加对带连字符的元素的支持 (5d522f5)
  • 将 IE8 列入黑名单,禁止运行带有 tag-hyphenated 元素的测试 (87bb713)

其他

  • Mac OS 现在是 OS X,感谢 @xfq (598946d)
  • Need for speed 已被 9ad6e7e 移除 (519d99a)
  • 更新所有对 bugs.jquery.com 的引用 (#1681, 49c720e)

Offset

  • 在 IE8-11 中避免错误,在获取边界矩形之前返回 (25e8620)
  • 修复 IE8 的 iframe scrollTop/Left 测试 (d632699)
  • 修复 IE8 和 iPhone 的 iframe scrollTop/Left 测试 (62a333e)
  • 为了浮点数错误,四舍五入偏移值 (#2147, cd63e9c)
  • 不要在 Android 2.3 和 4.0 中运行 scrollTop/scrollLeft iframe 测试 (#1981, f2ea60c)
  • 为断开连接/隐藏的元素返回零 ( #2310, 63f19a9)
  • 在计算位置时考虑滚动 (#1708, 0654711)
  • 不要运行没有向后兼容性更改的测试 (9f2dcb9)
  • getBounding 在 IE8 中不返回 width/height。修复测试。(3b1de11)
  • 无需检查 ownerDocument (523de77)
  • 为了 IE8 的缘故,恢复使用 jQuery.contains (仅限 compat) (6df3990)
  • 允许 offset.top 有小的差异 (#2590, d047073)
  • 添加隐藏元素 + 滚动的测试 (a0a5c0b)

Readme

  • 修复 tile 中的标点符号 (a751bfe)

README

  • 各种文本修复 (3d77c2e)
  • 更新 Homebrew 站点地址 (d588c85)
  • 改进构建说明 (07afc28)
  • 更新已弃用模块的描述 (2a3018c)

发布

  • 确保文件被复制到 dist (f5029f5)
  • 修复 CDN 归档创建 (#1940, 7352216)
  • 移除最小化文件的所有副本中的 sourcemap 注释 (#1707, f71d7f5)
  • 将 dist 推送到与项目相同的远程仓库 (5e5489c)
  • 将文件分发到分发仓库 (#1869, #1673, #2045, fc76a97)
  • 更新 AUTHORS.txt (ce4822c)
  • compat -> 1.x。移除 compat 特定的发布语义 (25d0afa)
  • 更新 AUTHORS.txt (8b0618c)
  • 再次更新 AUTHORS.txt (0398d90)
  • 当它是真正的发布时,正确设置 dist 远程仓库 (9162122)
  • 移除 jquery-latest 文件的复制 (16fcc5e)
  • dist 可以在测试期间运行 (dcd2c8f)
  • 允许本地和 github dists (3a4a95c)

选择器

  • 添加 jQuery.unique() 别名的测试 (17ce9ed)
  • 移除标识符标记中的“#”异常 (41f522a)
  • 添加 jQuery.uniqueSort;弃用 jQuery.unique (#2228, d9d930f)

序列化

  • 处理包含 null 值的数组 (f0b86ec)
  • 修复对象检测 (a993056)

Sizzle

  • 更新 2.1.1 (238bc32)

支持

  • 修正 iOS 8 支持测试结果,重新排列条目 (a4e31a8)
  • 重新组织浏览器顺序,添加 Safari 8 (7e70867)

测试

  • 将 leftover 和 self 切换为 addBack (2ea57c1)

Tests

  • 增加 IE 的 CSS 相对调整容差 (9d255b3)
  • 峰会后的清理 (a93d1d7)
  • 添加 iOS 9 支持测试结果 (dec9ab9)
  • 移除 Safari 7.0 和 iOS 6 支持测试结果 (602c34d)
  • 使 iOS 设备的正则表达式更严格 (8339185)
  • 不要使用具有相同名称的两个模块 (#2437, 85aed35)
  • 降低 unreleasedXHR.html 中的 PHP sleep 时间 (eac265c)
  • 在运行基本测试时添加虚拟模块 (5fb689d)
  • 修复代码风格问题 (8cac6da)
  • 在 jQuery.grep 中考虑类数组对象 (6e466af)
  • 文档:修复各种错别字 (ef6cd83)
  • 修复 ie9 中的支持测试 (729c75f)
  • 在原始事件 UA 嗅探中考虑 Edge (#2357, 4c3e63b)
  • 修复 IE 8 中 expando-removal 测试失败 ( #2596, 4b1cff6)
  • 使 HTML 套件的顶部符合风格指南 (bc9e573)
  • 添加 Safari 9 支持测试结果 (99f41c2)
  • 以正确的顺序提供 equal() 参数(实际值,预期值)(4503a61)
  • 在获取单个属性时,不要创建数据缓存 (0874096)
  • 增加 QUnit 超时时间 (c0a0777)
  • 这次真正修复 IE 8 中的测试 (1b48eef)
  • 禁用/放宽在 Android 2.3 中失败的几个测试 (#1785, 704de81)
  • 将当前版本的 node 和 iojs 添加到 travis 配置 (dd2e027)
  • 使用 QUnit URL 参数解析 (fb98ea4)
  • 修复 android 的支持值 (d224acb)
  • 使用标准外部域名 (3680689)
  • 部分使用新的 qunit 接口 (#2540, 4543815)
  • 移除 test/data/ua.txt (#2398, d8037c6)
  • 降低检查舍入误差 (1390d07)
  • 在恢复的测试中使用 assert 语法 (56b9656)
  • 不要在测试声明中使用已弃用的参数 (b8b111e)
  • 对抗一些风格指南风车 (4365133)
  • 使基本测试在 IE 8 中工作 (f709a28)
  • 移除 Edge 版本号 (1d052bd)
  • 当选择基本模块时,不要加载非基本测试 (06454d1)
  • QUnit 1.16 兼容性的微小更新 (f6f8848)
  • 更新 QUnit (b6e31a8)
  • 修复合并冲突 (d07774a)
  • 从 master 移植基本测试 (#2505, c7d458f)
  • 保留测试 iframe 以进行断言 (06128a9)
  • 恢复 IE8 解决方法(Sinon 定时器用于 IE 和 HTML5 shiv)(0b07c65)
  • 修正恢复工件 (b85f32f)
  • 添加 .extend 测试,用于定义的访问器属性 (15f7920)
  • 进一步改进 QUnit 2.0 迁移 (2f0cedc)
  • 修正 Safari 8 正则表达式中的错别字 (ef332c7)
  • 更多风格修正 (d8b7e7b)
  • 根据风格指南更改引号 (52491ae)
  • 修复 CSS 相对调整测试,用于向下取整的浏览器 (4a8000b)
  • 添加 Microsoft Edge 结果(来自 Windows 10 build 10130)(546593b)
  • 修复与新的 :visible 行为一致的测试 (cbd51c5)
  • 适应 QUnit HTML 报告程序的页面更改 (b747537)

Traversing

Wrap