jQuery 1.10.2 和 2.0.3 发布

发布日期 作者

美国将近独立日,我们推出了一些新鲜出炉的美味佳肴:jQuery 1.10.2 和 2.0.3。这些版本修复了上个月报告的一些烦人的错误,但数量令人耳目一新地少。由于一些错误跨越了 1.x 和 2.x 分支,因此我们发布了这两个分支的新版本以保持同步。

您可以在 jQuery 下载页面 获取最新文件,包括源映射文件以及指向 jQuery Migrate 等有用工具的链接。如果您要从 1.9 之前的 jQuery 版本升级,请仔细阅读该页面,以确保您的迁移尽可能顺利。请记住,Google、Microsoft 和 CDNJS 的 CDN 可能需要几天时间才能响应最新的版本。在此期间,请使用 jQuery CDN 上的副本。

我们非常乐观地认为,这些最新的错误修复版本应该不会出现意外问题。如果您将新文件放到您的网站上,并看到烟花,请尽到爱国义务,在我们的 错误追踪器 上报告一个错误,并附上测试用例(最好使用 jsFiddle)。

这些版本的发布离不开 Jason Bedard、Jason Merino、Jörn Zaefferer、Michał Gołębiowski、Nguyen Phuc Lam、Oleg Gaidarenko、Richard Gibson、Rick Waldron、Terry Jones 和 Timmy Willison 的贡献。

jQuery 1.10.2 和 2.0.3 更新日志(两者共有)

构建

CSS

选择器

jQuery 2.0.3 更新日志(2.x 独有)

数据

操作

关于“jQuery 1.10.2 和 2.0.3 发布”的 19 条评论

  1. 总是很出色。jQuery 团队做得太棒了!
    感谢您为我们提供 jQuery,它确实加快了我们的开发速度

  2. 等待 jQuery 团队看到曙光,将 jQuery 2.0 重命名为“2.0-lite”,并将 jQuery 1.10 重命名为“2.0”。

  3. 哪个版本的 jQuery UI 被认证为可以与 1.10.2 协同工作,例如 jQuery-ui-1.10.3.js 中的模态弹出窗口(对话框)jquery-ui-1.10.3.js 与 jquery-1.10.2.js 的协同工作效果不佳。

    谢谢!

  4. jQuery UI 1.10.3 版本。从 zip 中提取的 index.html。在 IE8、9 中拖动对话框无法正常工作。

  5. 你们做得太棒了!这个版本修复了 animate() 函数中的一个严重错误。我花了大约 3 天时间试图找出为什么在多次调用 animate() 时它们没有连锁执行,而是同时执行。这个版本修复了这个问题。太棒了!

  6. 我们刚刚集成了由 Google 托管的 jQuery 2.0.3。我只是想感谢 jQuery::mouveleave() 方法,它可以完成 DomElement.mouseout() 无法完成的功能,例如在自动调整大小模式下使用的 div,比如用于弹出菜单的 div。

    你们 jQuery 团队太酷了。

  7. Christian Z. 说:

    移除 $.browser 仍然是一个糟糕的主意,尤其是在 IE10 出现之后(参见:http://stackoverflow.com/questions/9900311/how-do-i-target-only-internet-explorer-10-for-certain-situations-like-internet-e)。我仍然认为 $.browser 涵盖了一些特征检测无法涵盖的罕见情况(是的,我理解特征检测的好处和背后的原因,并在必要时使用它;我并不无知,也不反对它)。虽然对浏览器检测的需求比特征检测的需求少(谢天谢地),但它们出现的频率足以证明 $.browser 的包含和重新插入的必要性。

    另见:https://blog.jqueryjs.cn/2013/02/16/jquery-migrate-1-1-1-released/comment-page-1/#comment-540373

  8. 实际上,IE11 是一个很好的例子,说明为什么 $.browser 被移除。微软移除“MSIE”标记的原因是它被一些有问题的软件使用,这些软件期望使用 IE7 或 IE8,但在 IE9 上出现故障。如果软件试图确定功能,那么询问“这是任何版本的 IE 吗?”是错误的问题。如果你觉得有有效的用例,可以随意直接检查 navigator.userAgent 并承担后果。

  9. Christian Z. 说:

    “询问‘这是任何版本的 IE 吗?’是软件试图确定功能时错误的问题。”

    我知道这一点 *非常* 和 *非常* 明确,而且发现一群应该更聪明的人却一直以为我说的是,“我希望保留 $.browser,这样我就可以进行特征检测”,而我已经明确说明了这不是我的意思。

    我在之前的帖子中解释过,我(和其他人)遇到了一些“特征检测”无法解决的情况(虽然我 100% 同意在合适的情况下应该使用它),在这种情况下,你确实需要检查正在使用的浏览器。一个例子是我最近参与的一个项目,其中 Safari 和 Chrome 对特定问题的处理方式不同(这意味着使用“-webkit”前缀不起作用;我确实需要单独针对 Chrome,而不是其他任何浏览器)。这只是一个例子。是的,这些是边缘情况,但当 jQuery 拒绝覆盖它们时,jQuery 实际上是在说,“随着时间的推移,我们变得越来越无力和没有必要。我们不能再那样做了。对于这种情况,请使用普通的 JavaScript。”

    但我猜你可以继续让 jQuery 变得无关紧要,直到每个人都回到普通的 JavaScript。现在已经出现了一些关于 jQuery 应该被抛弃的文章。

    我的原始评论在这里:https://blog.jqueryjs.cn/2013/02/04/jquery-1-9-1-released/comment-page-1/#comment-536442