jQuery的版本历史
JQuery UI(2007年9月):这个新的插件套件是作为曾经流行但已经过时的界面插件的替代品发布的。JQuery UI包含大量预定义的小部件和一组用于构建高级元素(如拖放界面元素)的工具。(2010 65438+10月14):内部重写了代码库,建立了一些样式规范。旧的core.js文件分为attribute.js、CSS.js、data.js、manipulation.js、traversing.js、queue.js;CSS和属性的逻辑分离。
4个重要的新功能
常用方法的性能大大提高:大部分早期的函数都被重写;
更易于使用的setter函数:为所有对象添加了许多易于使用的setter函数;
Ajax的改进:引入了很多关于Ajax和JSON处理的更新,包括HTML5元素的序列化;
属性(提高了的性能。attr())、jQuery()核心函数、CSS(两次提升的性能。CSS())、特效和事件、DOM操作等。也得到了显著改善(2011年1月31日):此版本已修复。主要改进包括:重写Ajax模块;添加延期对象;JQuery body double-JQuery . sub();增强了遍历邻居节点的性能;jQuery开发团队对构建系统的改进。
1.5的新版本
John Resig于美国时间2011,1在jQuery官方博客上发表文章,宣布jQuery 1.5正式版已经如期开发完成,可以下载使用。jQuery的压缩版本是29KB,jQuery Regular的未压缩版本(用于读取和调试)是207KB。既然jQuery已经成为最受欢迎的JavaScript库,并得到广泛支持,那么新版本的发布当然非常引人注目。
重要变化:
1.Ajax重写
Ajax模块已经完全重写。添加了一个新的jXHR对象,它为在不同浏览器中构建的XMLHttpRequest提供了一致的超集。JXHR对象还可以处理XMLHttpRequest之外的传输机制,比如JSONP请求。(详情请参考jQuery.ajax文档。)
此外,系统的扩展性大大增强,可以附加各种数据处理器、过滤器和传输机制,为开发新的Ajax插件提供了方便。
2.延迟对象
延迟对象(jquery。Deferred Object)是一个可链接的实用程序对象,它实现了Promise接口。它可以在回调队列中注册多个回调,调用回调队列并转发任何同步/异步函数的成功或失败状态。正如在文章《在jQuery 1.5中使用延迟的s》中所解释的,结果是依赖于任务(事件)结果的逻辑可以在jQuery中与任务本身解耦。这在JavaScript中并不新鲜,Mochikit和Dojo已经实现了一段时间。因为jQuery 1.5的Ajax模块使用了延迟对象,所以通过jQuery编写Ajax程序会自动得到这个功能。
这使得开发人员可以使用不是立即可用的返回值,比如异步Ajax请求的返回值,并首次附加多个事件处理程序。
例如,可以使用jQuery新的内部Ajax API来实现以下代码:
//发出请求后立即分配处理程序,//并记住这个请求的jxhr对象var jxhr = $。Ajax({ URL:example.php })。success(function() { alert(成功));}) .error(function(){ alert(error));}) .complete(function(){ alert(complete));});//在此执行其他工作...//为jxhr.complete上面的请求设置另一个完成函数(function(){ alert(秒完成));});
此外,您还可以使用jQuery.Deferred开发自己的延迟对象。有关详情,请参阅:延迟对象文档。
3.jQuery.sub()
JQuery 1.5提供了一种创建和修改JQuery副本的方法。它可以用来添加不对外公开的方法,或者重新定义jQuery的一些方法以提供新的功能,或者提供更好的封装并避免名称空间冲突。当然,它也可以用于开发插件,但是Resig强烈建议您在开发插件之前考虑jQuery UI小部件工厂。
值得注意的是,sub函数并没有提供真正的隔离,所有的方法、数据和调用仍然依靠jQuery本身来支持。
4.遍历性能得到改善
在新版本中,几个常用遍历函数的性能,如。儿童(),。prev()和。接下来(),有了显著的改进。
5.内部开发系统
John Resig还特别提到了jQuery团队内部开发系统的两个变化:一是服务器端用Node.js替换了旧的Java/Rhino系统,使团队能够专注于JavaScript环境的新变化;第二,使用的代码优化程序从Google Closure切换到UglifyJS,新工具的压缩效果非常令人满意。
JQuery 1.5.2在1.5的基础上修复了很多bug。
jquery1.7b 2011 9月29日jQuery 1.7首个测试版,修复了50多个问题,并带来了一些新特性。
2011 11.4 jquery 1.7正式发布。
新版本包含许多新功能,特别是提高了事件委托的性能,尤其是在IE7下。
新的和改进的项目:
1.新事件API:。在()和上。off();
事件委托的性能有了很大的提高,尤其是在IE7下;
3.在IE 6/7/8上更好的支持HTML 5;
4.切换动画更直观;
5.匿名模块定义AWD
⒍jQuery.延期的
⒎jQuery.isNumeric()
删除的方法:
event.layerX和event.layerY
jQuery . isnan()2065438+2002年3月24日,jQuery 1.7.2正式版发布。
这个版本在1.7.1的基础上修复了很多bug,改进了一些功能。与1.7.2 RC1相比,只修复了一个bug。值得注意的是,如果你使用的是jQuery Mobile,请使用最新版本的jQuery 1.7.2和jQuery Mobile 1.1,因为之前版本的jQuery Mobile都是基于jQuery core 1.7.1或者更早的版本。2012 110 14 jQuery 1 . 8 . 3发布修复bug和性能下降。
IE8中与HTML相关的错误
JQuery 1.8.2在IE9中调用ajax失败。
JQuery 1.7.1无法正确设置IE7中克隆元素的tabindex属性。
压缩的JS文件包含非ascii字符。
如果正文样式设置为显示:无,$('body ')。show()将不起作用。
Element.css('filter ')在IE9中返回二义性。
在Android 2.3.4的浏览器中,jQuery 1.8.1的过渡效果崩溃。
在iPad上缩放一个灯箱效果后,所有动画效果无效。
从1.3.2升级到1.8.2后出现未捕获的类型错误。
在Chrome和Safari中,无法正确检测包含可编辑内容的DIV的焦点。2065438+jQuery 2.0 Beta 2发布于2003年3月。
根据3月份jQuery的官方博客,jQuery 2.0 Beta 2发布。
根据用户对jQuery 2.0 Beta 1的反馈,Beta 2做了一些修改。JQuery官方表示,非常需要用户测试Beta 2,最好能给他们反馈,同时提交建议。
他们认为Beta 2非常稳定,值得一试,不需要等待2.0的最终版本。
jQuery团队在官方博客中再次提醒用户,jQuery 2.0不再支持IE 6/7/8,但jQuery 1.9将继续支持。因为老IE浏览器在整个互联网还是有很大市场的,所以他们非常希望大部分网站能够继续使用jQuery 1.x一段时间。jQuery团队还会同时支持jQuery 1.x和2.x,1.9和2.0版本的API是一样的,你不必因为你的网站还在用jQuery 1.9就觉得自己错过了什么或者落后了。
如果想继续支持IE 6/7/8,尝试jQuery 2.0,可以额外增加一些代码。除了老版本的IE,其他所有浏览器都会使用第二个脚本,忽略第一个。
在许多环境中,jQuery 2.0应该表现良好。如下所示:
谷歌浏览器插件
Mozilla XUL应用和Firefox扩展
Firefox操作系统应用
Chrome操作系统应用
Windows 8商店(“现代/地铁用户界面”)应用
黑莓10网络应用
PhoneGap/Cordova应用程序
Apple UIWebView类
Microsoft WebBrowser控件
带有Node.js的Cheerio或jsdom
内部网应用
4月13日jQuery 2.0正式版不再支持IE 6/7/8:如果在IE9/10中使用兼容视图模式,也会受到影响。更轻更快:2.0版文件比1.9.1小12%。你可以造一个更小更轻的版本。JQuery 2.0 API完全兼容jQuery 1.9 API。JQuery 1.9.1中文版发布于2013年2月23日,网友翻译发布于2014年5月23日,jQuery2.1.1。