我们目前正在将jQuery 1.6.4中的jQuery升级到1.9.0。
我相信我已经在我们的应用程序中修复了大部分更改,但是,我希望能够从一个半实体的jQuery更改列表中确定。
截至目前,我看到的唯一两个主要变化是删除了.live
和$.browser
功能。
还有一些问题导致我们将jquery UI升级到最新版本。
我们有一个大型应用程序,我们最终获得批准放弃对IE 6的支持,因此正试图让它更接近现代。
我不是在为每个版本寻找完整的更改日志,因为更改日志包含很多我并不关心的内容。希望这也有助于其他人升级过程。
我在寻找:不推荐使用的功能,删除的功能,重要的功能变更,例如旧的attr
和prop
自jQuery 1.6.4到1.9.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
强>
当您在.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
.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/
你可以在这里找到:
.toggle(function, function, ... )
已移除jQuery.browser()
已移除.live()
已移除.die()
已移除jQuery.sub()
已移除.add()
.addBack( selector )
取代.andSelf()
.after()
,.before()
和.replaceWith() with disconnected nodes
.appendTo
,.insertBefore
,.insertAfter
和.replaceAll
.trigger()
ed "click"
活动中的复选框/广播状态"focus"
事件的顺序jQuery(htmlString)
与jQuery(selectorString)
.data()
方法未触发的事件;具有句号的姓名.attr()
与.prop()
$("input").attr("type", newValue)
"hover"
伪事件jQuery.attr()
jQuery.ajax
返回空字符串的JSON结果jQuery.proxy()
context .data("events")