`
lxy19791111
  • 浏览: 476746 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

jQuery 1.3 发布了

阅读更多
        转自: http://www.zhangkuo.com/bencandy.php?fid=155&id=13369  作者: 858583389

        2009-1-14,jQuery 1.3发布正式版,尽管之前版本的jQ已经让我们感受到了诸多便利,但是1.3还是给了我们额外的惊喜。
        大家可以参考jQuery对于这个版本发布的官方文档:http://docs.jquery.com/Release:jQuery_1.3
在官方的文档里你可以看到更详细的数据,不过在本篇里你可以看到更细节的分析。

==Sizzle,独立的css选择器引擎==
jQuery在之前的版本里已经逐渐酝酿出css选择器模块的独立。因为Sizzle的独立性,jQuery和Dojo开发组也有意通过Sizzle来开展长期合作(也就是共享部分代码)。
Sizzle也兼容之前版本的jQuery,那些依赖于低版本的jQuery的代码并无重写之忧。
Sizzle在最常见的使用场景中,也有了不同程度的性能提高。(什么是最常见使用的场景呢?可以参考http://ejohn.org/blog/selectors-that-people-actually-use/)

==Live,持久化事件绑定==
通常我们在使用jQuery的过程中,新构造的DOMElement也需要重新完成其事件绑定的逻辑。而jQuery 1.3 里的live函数可以让我们用类似于css behavior的方式来为未来要产生的DOMElement绑定事件。(当然你要拿它当css用,也无妨)
随之对应的,解除这种持久化事件绑定的方式可以用die来完成。
在sizzle.js的源码开头的几行,我们可以看到实现的思路。
document.addEventListener("DOMAttrModified", invalidate, false);
document.addEventListener("DOMNodeInserted", invalidate, false);
document.addEventListener("DOMNodeRemoved", invalidate, false);

==Event对象重封装==
jQuery.Event的主要功能被封装。(jQ有分拆IPO的倾向)

==html注入重写==
性能大幅提高(about 6x faster overall)。
还提供了新用法$("<script/>") 以代替$(document.createElement("script"))

==Offset重写==
性能大幅提高(almost 3x jump)

==jQuery.support,浏览器识别==
jQuery.browser是用useragent来识别浏览器,新增的jQuery.support以js的功能来识别浏览器。

==更新==
jQuery UI and the Validation plugin会同步更新。
如果你有依赖低版本的jQuery的代码的话,请阅读potentially-breaking changes

==Downloading==
jQuery Minified (18kb Gzipped)
也可以用 http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js for a quickly-loading jQuery

==不兼容的Changes==
[@attr]不再需要写@了。(个人感觉这是一个很坏的change)
使用trigger( event, [data] )触发的事件现在会造成冒泡。(言下之意就是以前不会,以前没在意这个细节)
ready()不会等待所有的.css文件下载完毕才执行。(页面上的css引用要写在js前面了)
isFunction被简化。
(原来 !!fn && typeof fn != "string" && !fn.nodeName && fn.constructor != Array && /^[\s[]?function/.test( fn + "" )
现在 toString.call(obj) === "[object Function]" ,有很多你想不到的东西的typeof会是"Function")
逗号选择器的顺序有可能改变(因为Browsers that support querySelectorAll (Safari, Firefox 3.1+, Opera 10+, IE 8+),而它们返回的顺序和jQuery现有逻辑不同)
trigger 和 triggerHandler 原来提供的data形参可以接受一个数组,现在必须是类似于options的对象
(原来按以下对象属性的数组也可以被接受,{type: type,target: elem,preventDefault: function(){},stopPropagation: function(){},timeStamp: now()})
"extra"函数被去除(原来就没有写进文档里),如果trigger 和 triggerHandler 里data参数里提供了多余的成员,如{fa:function(){},fb:function(){},fc:function(){},type: type,target: elem,preventDefault: function(){},stopPropagation: function(){},timeStamp: now()},如果该成员isFunction的话,也会随trigger 和 triggerHandler被执行。
interal jQuery.event.trigger不再返回最后一个hander的返回值,只返回true or false(需要的话可以用jQuery.Event 来作为返回值的句柄)
需要在标准模式下运行jQuery,因为有一些函数在quirks mode运行不正确(Safari下甚至如此重要的一些选择器函数都会出错)

==增强特性==
(FEATURES)
===Core===
New queueing methods which you can use to manage existing queues (such as the animation queue) or construct new ones to manage completely separate workflows.(不是很理解有什么个特法)
jQuery 实例对象新增了两个属性selector and .context 。(以唤回你在构造这些对象时的记忆,jQuery( expression, context ) )

===Selector===
新增支持 复杂的not表达式。如 $(":not(a, b)") and $(":not(div a)")
not表达式其实是反向选择器,老实说我觉得这是一个很重要的特性

===Attributes===
jQuery实例对象新增成员函数toggleClass( String class, Boolean switch )

===Traversing===
jQuery实例对象新增成员函数 .closest( selector ) 以定位位置最接近的符合selector的ancestor element(祖先元素)。(会递归匹配parentNode,我原以为parent( [expr] ) 是做这个用的,后来发现parent( [expr] )只是很直白的选出以expr构造出的jQuery实例对象或者jQuery实例对象this的parentNode)
jQuery实例对象成员函数is()可以支持复杂选择器

===Manipulation===
$("<script/>")相当于原来的$(document.createElement("script")),前面介绍过了

===CSS===
Offset 重写了,性能提高,前面介绍过了

===Events===
Live Events
jQuery Event Object
.trigger()冒泡
(前面都介绍过了)

===Effects===
.hide() and .show() 重写,性能提高。
animate更加平滑,因为原来只控制width, height,opacity,现在连margin and padding控制了
未提供duration参数的animate调用不会有渐变,而是直接被同步化(因为原来animate的渐变都是异步的)的设为最终值
.toggle( Boolean switch ) 所有类似于toggle的函数(如toggleClass)都增加了switch这个参数支持,把toggle类的对象分为正反两种状态的话(如采用和不采用,显示和隐藏),if(switch)则为正状态,反之亦然。

参考下面的代码:
var flip = 0;
$("button").click(function () {
$("p").toggle( flip++ % 2 == 0 );
});
原来无switch参数的时候相当于总是( flip++ % 2 == 0 ),现在我们可以自己控制了。
这是一个很好的新增特性。

jQuery.fx.off=true用来禁止所有animate

===Ajax===
jQuery.ajax( options )
options新增了{Function(data, type) dataFilter},可以用来在jQuery.ajax返回data前再处理一下data(比如过滤)
options新增了{Function() xhr},以xhr返回值作为XMLHttpRequest对象。这是一个很有用的增强,在跨域ajax时,一种做法是制造一个假的XMLHttpRequest。

load( url, [data], [callback] )的参数data可以是String了

===Utilities===
新增了jQuery.isArray( obj )函数

===Internals===
不再使用ua来作为识别浏览器的判断
YUI Compressor作为默认jQuery压缩工具
jQuery不再使用.constructor and instanceof(Will help to give jQuery better cross-frame support.)

==TESTING==
brabra

==PERFORMANCE==
css选择器,delegate过滤器,DOM修改操作(尤其是插入),.offset(),.hide()/.show() 都获得了不同程度的性能改进
分享到:
评论

相关推荐

    jQuery1.3中文参考文档最新CHM版

    资源名称:jQuery 1.3 中文参考 文档最新CHM版内容简介:jQuery 1.3自从2008年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人...

    jQuery 1.3参考手册.zip

    jQuery 1.3于2008年1月14日发布后,引来了各界的关注。 自从jQuery面世以来,它以其快速、简洁,能够很轻易地处理HTML文档、控制事件、给页面添加动画和Ajax效果等打动着所有关注它的人的心。 一直以来我都是1.1和...

    jQuery 1.3 中文文档 v090118

    jQuery 1.3 中文文档 090118发布 包含jQuery 1.3新增内容

    JQuery 1.3 参考手册

    jQuery 1.3自从2008年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人未能及时制作成CHM版本,特意在开工的当天将其整理完成,...

    jQuery1.3中文帮助手册下载

    jQuery组件靠着自身强大的功能,已经有很多网站运用jQuery来实现很多JavaScript的功能,在这里给大家提供一个jQuery1.3版本的中文帮助手册CHM下载,供大家学习参考。 自从jQuery面世以来,它以其快速、简洁,能够...

    Jquery1.3中文API

    jQuery 1.3自从2009年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。这个版本更新了不少东西,具体还请看changelog。感谢Cloudream的热情帮忙。还要感谢一揪...

    jQuery1.3 及中文帮助.rar

    jQuery面世以来,以其快速、简洁,能够很轻易地处理HTML文档、控制事件、给页面添加动画和Ajax效果...jQuery 1.3自从2008年1月14日发布后,后引来了各界的关注。本翻译文档为2008年1月14日发布的最新版。强烈推荐下载!

    jQuery 1.3 API中文版

    jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,现在由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript库,在世界前10000个访问...

    Jquery 源码发布包(1.3/1.2)

    Jquery 源码发布包(1.3/1.2),包括1.3、1.2各种版本。

    jQuery 1.3

     相比早前发布的jQuery 1.2.6版,1.3版在性能和处理上更进一层楼:  1、它具有更为强大的选择器,较之前的更为强健,具备更好的扩展性,并且完全独立,性能较之前版本提升近49%;  2、Live 事件,可以无缝将某一...

    最新 jQueryAPI 1.3 HTML版中文说明

    最新 jQueryAPI 1.3 HTML版中文说明, 主要是在以前的基础上增加了官网上的最新功能以及新发布的相关特性的详细说明。 google code网址:http://code.google.com/p/jquery-api-zh-cn/downloads/list

    jQueryAPI 1.3版本--CHM版

    jQuery目前最新版,有本人制作发布,目前未有更新, 查找更新请点击手册内的更新提示

    jQueryAPI-速查手册.rar

    jQuery 1.3自从2009年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。这个版本更新了不少东西,具体还请看changelog。感谢Cloudream的热情帮忙。这个版本还...

    jquery 1.4.x中文api

    jQuery 1.3自从2008年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人未能及时制作成CHM版本,特意在开工的当天将其整理完成,...

    JQuery api

    jQuery 1.3自从2009年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。这个版本更新了不少东西,具体还请看changelog。感谢Cloudream的热情帮忙。还要感谢一揪...

    JQuery_1.4_API

    jQuery 1.3自从2008年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人未能及时制作成CHM版本,特意在开工的当天将其整理完成,...

    jquery 1.3.2 最新 免分 含js与chm

    jQuery 1.3自从2009年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。这个版本更新了不少东西,具体还请看changelog。感谢Cloudream的热情帮忙。这个版本还...

    Jquery学习文档集

    有多个Jquery学习文档及例子!! jQuery 1.3自从2008年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。

    JQuery+文档介绍

    jQuery 1.3自从2008年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人未能及时制作成CHM版本,特意在开工的当天将其整理完成,...

    jquery_API

    jQuery 1.3自从2008年1月14日发布后,后引来了各界的关注。我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人未能及时制作成CHM版本,特意在开工的当天将其整理完成,...

Global site tag (gtag.js) - Google Analytics