jQuery 1.9.0自1.6.4以来不推荐使用,删除和更改的功能列表

时间:2013-01-17 17:58:33

标签: jquery deprecated

我们目前正在将jQuery 1.6.4中的jQuery升级到1.9.0。

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

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

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

我们有一个大型应用程序,我们最终获得批准放弃对IE 6的支持,因此正试图让它更接近现代。

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

我在寻找:不推荐使用的功能删除的功能重要的功能变更,例如旧的attrprop

自jQuery 1.6.4到1.9.2之后有哪些已弃用,已删除的函数以及重要的功能更改......

2 个答案:

答案 0 :(得分: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”。

      < / BLOCKQUOTE>
    •   

  • <强> 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的一部分,但已知一些外部代码使用它,或许认为它“更有效”。现在它“更加消失。”

&gt; = 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/

&gt; = jQuery 1.8.2

  

MAKE .OFFSET()在浏览器没有错误的情况下无法获取错误

&gt; = jQuery 1.8.3

没有发现重大变化

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

&gt; = 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

我会在稍后查看并添加此内容,因为我发现了更多问题。

答案 1 :(得分: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()
  • oldIE中的
  • $("input").attr("type", newValue)
  • "hover"伪事件
  • .jQuery对象上的.selector属性
  • jQuery.attr()
  • jQuery.ajax返回空字符串的JSON结果
  • jQuery.proxy() context
  • .data("events")
  • 删除了Event对象的属性
  • API方法的未记录参数
  • 其他未记录的属性和方法