jQuery 1.2.2: 二周年礼物
在 jQuery 发布两周年之际,我们很高兴向大家推出一个 全新的 jQuery 版本。此版本主要针对 jQuery 1.2 的错误修复。您可以在 错误追踪器 上查看修复的完整列表。
下载
- jQuery 压缩版 (使用 Gzipping 压缩后为 15kb)
- jQuery 包裹版 (28kb)
- jQuery 标准版 (93kb)
如果您想从 Subversion 仓库 中检出完整版本,您可以按照 以下说明 从以下位置检出源代码
svn co http://jqueryjs.googlecode.com/svn/tags/1.2.2
重要更改
Brandon Aaron 和 David Serduke 在此版本中付出了大量努力。David 是 jQuery 核心开发团队的新成员,并且一直在做出重大贡献 - 请欢迎他的加入!
主要来说,这是一个错误修复和优化版本。我们修复了超过 120 个 错误,我们的测试套件现在拥有超过 1157 个测试用例 - 我们对此感到非常自豪。
$(DOMElement) 速度提升 300%
我们再次对 jQuery 中使用最频繁的功能进行了微调。具体来说,就是将 DOM 元素传递给 jQuery 函数。(当您在代码中看到类似 $(this) 的内容时,最常使用这种方法。)
以下是您可以在所有主流浏览器中看到的速度提升示例:
浏览器 | 1.2.1 (毫秒) | 1.2.2 (毫秒) |
---|---|---|
Firefox 2 | 0.041 | 0.015 |
Firefox 3 | 0.033 | 0.01 |
Safari 3 | 0.017 | 0.005 |
Opera 9 | 0.023 | 0.004 |
Internet Explorer 6 | 0.04 | 0.03 |
.ready() 大修
文档就绪函数已经很久没有得到过关注了。我们对此进行了一些特定的更改。
* Internet Explorer 的文档就绪功能得到了大幅改进。我们使用了一种受 Diego Perini 启发的全新技术。它使我们不再需要进行 document.write() 操作,这真的很棒。
* 除了 DOM 之外,所有浏览器现在都将等待 CSS 就绪。实际上,它不再仅仅是普通的文档就绪功能 - 但我们发现,用户普遍需要等待文档样式处于活动状态(例如,知道元素是否可见或其高度是多少)。具体来说,我们在 Safari 和 Opera 中添加了改进,使其成为可能。
* $(document).bind("ready", fn);
- 您现在可以通过传统的 .bind() 函数监听文档就绪事件。当然,.ready() 仍然像您预期的那样工作。
.bind(“mouseenter”) / .bind(“mouseleave”)
作为 .hover() 函数核心功能的代码已经被拆分为两个新的跨浏览器事件:mouseenter 和 mouseleave。它们与 mouseover 和 mouseout 不同,因为后者会在您移入移出子元素时触发(这通常不是我们想要的)。例如,以下两种方法在 jQuery 1.2.2 中都是有效的,并且可以完美地工作
$("li").hover(function(){ $(this).addClass("hover"); }, function(){ $(this).removeClass("hover"); });
$("li").bind("mouseenter", function(){ $(this).addClass("hover"); }).bind("mouseleave", function(){ $(this).removeClass("hover"); });
.bind(“mousewheel”)
我们有一个 新的插件,由 Brandon Aaron 编写,基于新的事件 API,为 jQuery 核心添加了鼠标滚轮事件支持。这将使您可以编写如下代码
$("div").bind("mousewheel", function(event, delta){ if ( delta < 0 ) $(this).append("up"); else $(this).append("down"); });
复杂的 :not()
虽然它不是 CSS 3 规范的一部分,但它是一个常见的特性请求 - 所以您现在可以在 :not() 选择器中使用复杂的表达式。例如,以下代码现在有效
$(".hover:not(li.active)")
$("li:not(.active,.hover,:contains(test))")
Accept 标头
对于普通的 jQuery Ajax 操作,我们现在会发送一个额外的 Accept 标头,以告知服务器我们正在寻找什么类型的內容。如果您指定了 dataType 参数,那么我们将为您处理所有标头设置。我们目前为每个 dataType 发送以下标头。
- xml "application/xml, text/xml"
- html "text/html"
- script "text/javascript, application/javascript"
- json "application/json, text/javascript"
- text "text/plain"
- 其他所有:"*/*"
错误修复
以下是部分经过重要调整的功能示例。
* .clone() 大修
* 脚本评估大修
* height() / width() 大修
* 跨框架 DOM 操作
* 解决了一些内存泄漏问题
事件 API
现在有一个新的 API 用于处理事件。您现在可以创建自己的自定义事件类型(具有自定义的设置和拆卸方式)。实际上,它允许您超越简单的事件触发,并为在元素上附加、处理和拆卸事件创建一个完整的方案。Brandon Aaron 创建了一个 演示插件,您可以使用它来学习这个强大的新 API。
哇!太棒的变更日志了,感谢 jQuery 团队,生日快乐!这个库每天都让我摆脱了曾经的 JS 痛苦。:) 继续摇滚吧!
好消息!
感谢你们的辛勤工作!
哇,太棒了!
我认为是时候开始使用 jQuery 进行一些新项目了!
谢谢你们!
太棒了!这个版本中有很多好东西。感谢你们的辛勤工作。
生日快乐!
新的事件 API 和对 $() 的速度改进都是非常好的消息。我们一直在等待一个更快的 elm 选择器,现在我们有了它。
来自巴西的 Marco Gomes
Pingback: jQuery 1.2.2 ha visto la luz | aNieto2K
生日快乐,感谢你们所有人的出色工作。
特别欢迎 David Serduke!:)
真的,真的非常棒,一直在等待一个酷炫的新更新!
感谢你们所有人,干得漂亮!=o)
太棒了!!!!!
你们做得太棒了!
恭喜你们,也欢迎 David
Romz:比利时
生日快乐!
DOM 元素传递在 IE7 中也能获得速度提升吗(不是主流浏览器?)
难道不是生日捐赠日吗?:)
更快,而且仍然只有 29kb。哇哦。
哇,你每次的“bug 修复版本”都充满了新功能,不仅是修复!:-D
非常感谢你出色的工作!jQuery 生日快乐!
哦,是的…
更少的 bug 和更快的速度。
生日快乐!
我一直在等待这个消息! ;-)
好消息!
去更新我的网站 ;-)))
Pingback: Bram.us » jQuery 1.2.2 发布
是的…很黄,很有力…
好消息。继续保持这种势头…
鼓掌,再次鼓掌。我认为现在是时候在“捐赠”按钮旁边添加一个“PayPal 订阅”按钮了。与其偶尔捐赠 10 美元,不如每月捐赠 10 美元。jQuery 真的值得这样做,不是吗?
万岁!另一个很棒的版本,看起来又是一款赢家 :) John,你同时在 FF3、jQuery 和写书之间忙碌,真不知道你从哪里抽出时间 :) 也祝贺整个 jQuery 核心团队 :)
jQuery 最棒了!!!!
但在新版本中,我经常遇到一个错误:“处理程序未定义”。
Pingback: jQuery 生日快乐!发布 1.2.2 版 « Rip 的领域
谢谢你们…jQuery 真的很适合我。非常感谢,也向 David Serduke 问好。感谢你加入。
感谢你们的辛勤工作。
生日快乐,非常感谢!
我们在法国 jQuery 网站上发布了这篇文章的法语翻译。
http://www.jquery.info/Joyeux-anniversaire-jQuery
生日快乐,感谢更新!
Pingback: jQuery 1.2.2: 二周年礼物 « outaTiME
生日快乐,感谢你为我们所做的一切!
Pingback: jQuery Minuteâ„¢ » jQuery 1.2.2 发布
Pingback: jQuery 1.2.2 发布 « 开放源代码 Weblog
Pingback: Fusioncube » 博客档案 » jQuery 1.2.2 发布
感谢你们继续开发出市场上最好的 JavaScript 工具包。
我使用它有一段时间了,它一直在变得越来越好。
它帮助我减少了大量的 js 代码。我对于它的所有功能了解的还很肤浅。
我会等待 1.2.2.1 版本,修复任何小的“oops”错误,然后再部署它。
很棒的工作!
Patrick
我爱你!你刚刚把我从 IE JavaScript 调试的噩梦中拯救出来!非常非常感谢你。jQuery 团队真是太棒了!
Pingback: Infovore » 2008 年 1 月 15 日的链接
哦!再次感谢!!!
祝贺整个 jQuery 团队,生日快乐 :)
非常棒的演示。
出色的新增功能,我会享受这种新的自由度。谢谢。
Pingback: 2008 年 1 月 16 日的链接 « Gevã Schaefer
Pingback: a work on process » 2008 年 1 月 16 日的链接
Pingback: 2008 年 1 月 16 日的链接 « Mandarine
Pingback: jQuery 1.2.2 » Code Candies
Pingback: [周年纪念] jQuery 1.2.2 为 jQuery 两周年庆贺! « Antoine Guiral:Web 2.0 学徒
很棒的工作!
但是,当在本地调用时使用绝对 URL 时,getJSON 回调会中断。
要修复,请获取此文件
http://www.yereth.nl/js/jquery-1.2.2-yereth.js
要讨论它,请转到此处
http://groups.google.com/group/jquery-dev/t/62a4f75f62a1737f
否则:再次感谢你们的出色工作!jQuery 是我个人心中的神。
太棒了,伙计们,捐款马上就来 :)
在我看来,新更新的定时器有问题。以下代码 http://interface.eyecon.ro/demos/sort.html 在使用新的 JQuery 后停止工作。它最初可以正常工作,但移动同一个面板几次后,它就无法移动了。
http://mootools.net/slickspeed/
嗯…… 他们应该获取新版本,但 jQuery 绝对没有表现出是最快的。有特别的原因吗?
嗨,我找不到 jQuery 1.2.x 版本的可打印文档。这对快速参考非常有用。我也尝试构建一个,但我找不到更新的 jquery-docs-xml.xml。
有计划更新或发布一个打印友好的版本吗?
感谢你们的工作,以及这个很棒的库。
Jonatan
哇!
我们主要使用 JQuery(一个测试结果应用程序)来构建结果页面(基本上就是它所做的所有事情),现在速度提高了 2.5 倍。太棒了。
非常感谢你们在 JQuery 上的工作,我期待着它取得更大的进步。
嘿,伙计们,干得漂亮,感谢你们在 JQuery 上所做的一切努力。我发现一些插件在这个版本中停止工作,例如 Sam Collett 的选择框操作。一切看起来都很好,但 addAjaxOption 无法工作。我正在努力解决这个问题,如果需要,我会报告错误。
再次感谢你们在这个版本上的出色工作……
Pingback: VCL for PHP 开发博客 » jQuery 1.2.2