12

我们目前正在将应用程序中的 jQuery 从 jQuery 1.6.4 升级到 1.9.0。

我相信我已经在我们的应用程序中修复了大部分更改,但是,我希望能够从功能性 jQuery 更改的半实体列表中确定。

截至目前,我看到的唯一两个主要变化是删除.live$.browser功能。

还有一些问题导致我们也将 jquery UI 升级到最新版本。

我们有一个大型应用程序,我们最终获准放弃对 IE 6 的支持,因此正努力使其更接近现代。

我不是在寻找每个版本的完整更改日志,因为更改日志包含很多我并不真正关心的内容。希望这也有助于其他人的升级过程。

我在找什么:弃用的功能删除的功能重要的功能变化,如旧的attrprop

自 jQuery 1.6.4 到 1.9.2 以来,弃用、删除的功能和重要的功能变化是什么...

4

2 回答 2

21

由于此问题可能已关闭,因此 nhahtdh 建议提交答案以便以后编辑和添加信息是有道理的。随意进行更改以添加额外的更改注释,甚至将其增加到最新版本的 jQuery (1.10)

>= jQuery 1.6.4

未发现重大变化

>= jQuery 1.7.1

未发现重大变化

>= jQuery 1.7.2

从文档:If you’re using jQuery Mobile, please use jQuery 1.7.2 only with jQuery Mobile 1.1. For previous versions of jQuery Mobile, stay with jQuery core 1.7.1 or earlier.

>= jQuery 1.8.0

需要关注的核心变化:

  • animations- 核心变化
  • CSS Prefixing

    • 从jQuery:

      当您在 .css() 或 .animate() 中使用 CSS 属性时,我们将为该浏览器使用正确的前缀属性(如果合适)。例如取 .css("user-select", "none"); 在 Chrome/Safari 中,我们将值设置为“-webkit-user-select”,Firefox 将使用“-moz-user-select”,IE10 将使用“-ms-user-select”。

  • data

    .data() 方法有一种未记录且非常不高效的方法来监控在 1.9 中删除的值的设置和获取。这很好地影响了对包含句点的数据名称的解释。从 1.9 开始,对 .data("abc.def") 的调用仅检索名称“abc.def”的数据,而不仅仅是“abc”。请注意,较低级别的 jQuery.data() 方法从不支持事件,因此它没有更改。jQuery Migrate 插件不会恢复这种情况下的旧行为。

  • .curCSS: 这个对我来说很重要。升级新的 jQuery UI 解决了这个问题,但重要的是要注意,如果不升级,这会破坏各种事情。

    $.curCSS:这个方法只是从 jQuery 1.3 开始的 jQuery.css() 的别名。尽管它从未成为文档化 API 的一部分,但已知一些外部代码使用它,也许认为它“更有效”。现在它“已经消失了”。</p>

>= jQuery 1.8.1

jQuery 注释:Use jQuery UI 1.8.23 and jQuery Mobile 1.1.1 or later for best compatibility with jQuery core 1.8.1.

Don’t use Quirks mode! http://blog.jquery.com/2012/08/30/jquery-1-8-1-released/

>= jQuery 1.8.2

使 .OFFSET() 在没有 GETBOUNDINGCLIENTRECT 的浏览器上减少错误

>= jQuery 1.8.3

未发现重大变化

>=来自http://jquery.com/upgrade-guide/1.9/的jQuery 1.9.0

  • .toggle(function, function, ... ) removed

    这是 .toggle() 的“单击元素以运行指定的函数”签名。它不应与 .toggle() 的“更改元素的可见性”相混淆,后者未被弃用。

  • jQuery.browser() removed

  • .live() removed

  • .die() removed

  • jQuery.sub() removed

  • .add()更改http://jquery.com/upgrade-guide/1.9/#add-

  • .addBack( selector ) replaces .andSelf() http://jquery.com/upgrade-guide/1.9/#addback-selector-replaces-andself-

  • .after(), .before(), and .replaceWith() with disconnected nodes

  • .appendTo, .insertBefore, .insertAfter, and .replaceAll

  • AJAX events should be attached to document

  • Checkbox/radio state in a .trigger()ed "click" event

  • Order of triggered "focus" events

  • jQuery(htmlString) versus jQuery(selectorString)

  • Events not fired by the .data() method; names with periods

  • Ordering of disconnected nodes within a jQuery set

  • Loading and running scripts inside HTML content

  • .attr() versus .prop()

  • $("input").attr("type", newValue) in oldIE

  • "hover" pseudo-event

  • .selector property on jQuery objects

  • jQuery.attr()

  • jQuery.ajax returning a JSON result of an empty string

  • jQuery.proxy() context

  • .data("events")

  • Removed properties of the Event object

  • Undocumented arguments of API methods

当我发现更多问题时,我将在稍后审查并添加此内容。

于 2013-01-17T19:34:58.513 回答
2

最新的 jQuery 版本是 1.9.0,这是升级指南文档

http://jquery.com/upgrade-guide/1.9/

你可以在这里找到这些:

jQuery 1.9 中的注释变化

  • .toggle(function, function, ... )移除
  • jQuery.browser()移除
  • .live()移除
  • .die()移除
  • jQuery.sub()移除
  • .add()
  • .addBack( selector )替换.andSelf()
  • .after(), .before(), 和.replaceWith() with disconnected nodes
  • .appendTo, .insertBefore,.insertAfter.replaceAll
  • AJAX 事件应附加到文档
  • .trigger()ed"click"事件中的复选框/单选状态
  • "focus"触发事件的顺序
  • jQuery(htmlString)相对jQuery(selectorString)
  • 该方法未触发的事件.data();带句号的名字
  • jQuery 集中断开节点的排序
  • 在 HTML 内容中加载和运行脚本
  • .attr()相对.prop()
  • $("input").attr("type", newValue)在旧的 IE 中
  • "hover"伪事件
  • jQuery 对象上的 .selector 属性
  • jQuery.attr()
  • jQuery.ajax返回空字符串的 JSON 结果
  • jQuery.proxy()语境
  • .data("events")
  • 移除了 Event 对象的属性
  • API 方法的未记录参数
  • 其他未记录的属性和方法
于 2013-01-17T18:06:59.450 回答