- 浏览: 23443 次
- 性别:
- 来自: 杭州
最近访客 更多访客>>
文章分类
最新评论
-
rustlingwind:
http://www.iteye.com/problems/5 ...
非ajax请求 返回json,xml数据出现文件下载提示 -
rustlingwind:
目前我测试的结果是:这种问题只有在IE7,IE8下会出现,IE ...
非ajax请求 返回json,xml数据出现文件下载提示 -
rustlingwind:
ldzyz007 写道能给解释下这句话的意思吗?
我用jque ...
非ajax请求 返回json,xml数据出现文件下载提示 -
ldzyz007:
能给解释下这句话的意思吗?
我用jquey.form.js的a ...
非ajax请求 返回json,xml数据出现文件下载提示
2010年1月14号, 恰逢jQuery四周年纪念日, jQuery的团队早早便开始了1.4版发布的准备工作, 并以每天一则公告的方式进行庆祝, 活动将持续14天。发布的首日, jQuery的团队首先列出了1.4版中的重大改进。我个人认为这篇文档是这几天以来内容比较充实的一篇文档。所以翻译过来, 以便同僚日后可以参考。时间仓促, 可能有几处不太明确的地方, 或是原文就草草带过, 可能会不大通畅。欢迎讨论或提出意见,以便共同进步。
转载请注原译者署名:coolnalu。谢谢!
原文地址: http://jquery14.com/day-01
jQuery 1.4 发布啦
为了庆祝jQuery的四周岁生日, jQuery的团队荣幸的发布了jQuery Javascript库的最新主要版本! 这个版本包含了大量的编程,测试,和记录文档的工作,我们为此感到很骄傲。
我要以个人的名义感谢 Brandon Aaron, Ben Alman, Louis-Rémi Babe, Ariel Flesler, Paul Irish, Robert Kati?, Yehuda Katz, Dave Methvin, Justin Meyer, Karl Swedberg, and Aaron Quint。谢谢他们在修复BUG和完成这次发布上所做的工作。
下载(Downloading)
按照惯例,我们提供了两份jQuery的拷贝,一份是最小化的(我们现在采用Google Closure作为默认的压缩工具了),一份是未压缩的(供纠错或阅读)。
另外,Google也在他们的服务器上放置了一份jQuery的拷贝。这份拷贝会自动的最小化然后压缩 – 并且放在Google最快的缓存服务器上。
你可以在你的站点上直接引用上面的URL,这样就可以享受迅速加载jQuery的性能优势了。
就jQuery1.4来说,我们努力的减少大规模升级中的麻烦 – 通过保持所有public函数的签名。即使如此,还请通读可能会造成问题的变更列表,这样能够了解哪些变更可能会给你的应用造成问题。
(功能) Features
下面的内容概括了jQuery1.4里加入的变更和功能。另外所有的变更都已经在jQuery 1.4 的文档里记录了。
热门方法经过了性能上的大”检修”
不少比较热门的和常用的jQuery方法在1.4里被重写了。(译注:重写了方法的内部,外部调用没有大幅度改变) 我们分析源码的时候发现我们能够获得大幅的性能提升,通过把jQuery和自己比较: 查看内部函数被调用了多少次,然后努力降低源码的复杂度(译注:计算机算法中的Complexity)
在1.4版里我们显著的降低了大部分热门jQuery方法的的复杂度。
更易用的设置函数 (Easy Setter Functions)
算来已经有一阵了,你们已经可以给.attr()
传递一个函数,然后这个函数的结果会被用来赋给相应的HTML属性(attribute)上。这个功能现在被移植到所有的设置函数了: .css()
, .attr()
, .val()
, .html()
, .text()
, .append()
, .prepend()
, .before()
, .after()
, .replaceWith()
, .wrap()
, .wrapInner()
, .offset()
, .addClass()
, .removeClass()
, 以及 .toggleClass()
.
另外, 对于下面几个方法,当前的值会被作为第2个变量传递给这个函数。.css()
, .attr()
, .val()
, .html()
, .text()
, .append()
, .prepend()
, .offset()
, .addClass()
, .removeClass()
, 以及 .toggleClass()
.
这样代码就可以这样写:
// 找出所有A标签里的'&'字符,然后用一个span标签包围 $('a').html(function(i,html){ return html.replace(/&/gi,'&'); }); // 给一些链接的title属性加些信息 $('a[target]').attr("title", function(i,title){ return title + " (新窗口打开)"; });
Ajax
嵌套参数的序列化 (jQuery.param() 文档, Commit 1, Commit 2)
jQuery 1.4在jQuery.param方法里加入了嵌入参数序列化的支持,借用了PHP编程里兴起的,而后又被Ruby on Rails推广开来的方式。
举例来说,{foo: ["bar", "baz"]}
会被序列化为 “foo[]=bar&foo[]=baz”.
在jQuery 1.3版里, {foo: ["bar", "baz"]}
曾被序列化为 “foo=bar&foo=baz”. 但是,这样做没用办法将只含有一个元素的阵列编码。如果你需要旧的序列化方式,你可以设置传统Ajax设置来进行切换。(使用jQuery.ajaxSettings.traditional
进行全局切换,或者根据情况单独切换。
总共有3种方式可以切换到旧的序列化方式:
// 全局改变序列化方式 (使用旧的) jQuery.ajaxSettings.traditional = true; // 指定情况使用旧的序列化方式 jQuery.param( stuff, true ); // 针对一个单独的Ajax请求使用旧的序列化方式 $.ajax({ data: stuff, traditional: true });
更多信息参见: jQuery.param() 文档, jQuery.ajax() 文档, Commit, Code
JSON和脚本类型通过”content-type”自动识别。 (jQuery.ajax 文档, Commit 1, Commit 2)
如果一个Ajax请求的回复的媒体类型是JSON(application/json), dataType默认设为”json”(如果dataType没有被指明)。另外,如果回复的媒体类型是 Javascript(application/javascript), dataType默认设为”script”(同样,如果dataType没有明确指明), 这种情况下,脚本会自动运行。
加入了Etag的支持 (jQuery.ajax() 文档, Commit)
默认设置下, jQuery会忽略Ajax请求的”Last-Modified”页头。这样做是为了忽略浏览器的缓存。设置ifModified:true就可以使 jQuery使用可用的缓存。jQuery1.4还会发出”If-None-Match”的页头如果你设置了ifModified选项。
严格JSON模式,本地的JSON.parse方法 (jQuery.ajax() 文档, Commit 1, Commit 2, Commit 3)
jQuery 1.3和以前的版本曾使用Javascript的eval
对引入的JSON解析。1.4版则会使用本地的 JSON解析器,前提是如果有本地的解析器可用。它也会对引入的JSON进行校验。所以在jQuery.getJSON方法里,或当一个 Ajax请求的dataType是”json”的时候,jQuery会拒绝不合标准的JSON(例如{foo: "bar"}
)。
序列化HTML5的元素 (jQuery.param() 文档, Commit)
新的HTML5 输入方法 (比如’datetime’和’range’)在序列化.serialize()
一个表单的时候会被包括在内。
Ajax请求的环境 (jQuery.ajax() 文档, Commit)
你可以附加一个”环境”到Ajax请求上,所有的回调函数里都会拥有同样的”环境”设置(这样可以简化你的代码,尽可能避免使用闭合,或是其他对象)。
jQuery.ajax({ url: "test.html", context: document.body, success: function(){ jQuery(this).addClass("done"); } });
请求成功回调函数的第三个参数会被设为原始的XHR对象 (jQuery.ajax() 文档, Commit)
所有的Ajax请求的成功回调函数现在都会收到原始的XMLHttpRequest对象,作为第三个参数。之前这个XHR对象只能通过$.ajax
一类方法的返回值来获取。
明确设置”Content-Type” (jQuery.ajax() 文档, Commit)
在1.3版,如果没有实际数据发送,jQuery.ajax的 contentType会被忽略。1.4版里,contentType将总是和请求一同发送。这修复了某些后台凭靠”Content-Type”页头判断回复类别所造成的问题。
明确设置JSONP回调函数的名字 (jQuery.ajax 文档, Commit)
你可以使用jQuery.ajax()方法的jsonpCallback选项,通过名字来指定JSONP的回调函数。
防止启动前跨域XHR (Commit)
跨域Ajax(针对提供支持的浏览器)将更易用,因为默认设置下,启动前XHR被阻止了。(TODO)
jQuery.ajax()现在使用”onreadystatechange”事件替换了计时器 (Commit)
使用”onreadystatechange”替换了轮流探询,Ajax请求现在将使用更少的资源
元素属性 (Attributes)
.css()
和.attr()
的性能被优化了。
.attr()
方法多了一个设置函数作为参数 (.attr() 文档)
你不但可以将一个函数用在.attr()
里,还可以在这个函数里使用属性的当前值。
jQuery('<img src="enter.png" alt="enter your name" />') .attr("alt", function(index, value) { return "Please, " + value; });
.val( Function ) (.val() 文档)
<input class="food" type='text' data-index="0" /> <input class="food" type='text' data-index="1" />
jQuery("input:text.food").hide(); jQuery("<ul class='sortable'><li>Peanut Butter</li><li>Jelly</li></ul>" ) .sortable() .bind("endsort", function() { $(":text.food").val(function() { return $("ul.sortable li:eq(" + $(this).attr("data-index") + ")").text(); }); });
text和CDATAHTML元素也支持.text()方法了 (.text() 文档, Commit)
核心 (Core)
快捷元素创建 (jQuery() 文档, Commit)
现在当你需要使用jQuery函数创建一个元素的时候,你可以同时附递一个对象来指定属性值和事件:
jQuery("", { id: "foo", css: { height: "50px", width: "50px", color: "blue", backgroundColor: "#ccc" }, click: function() { $(this).css("backgroundColor", "red"); } }).appendTo("body");
对象里的键值的名字与相关的jQuery的方法的名字是对应的,对象的值会被作为参数传递给jQuery的方法。
(译注:譬如$("<a>link</a>", {css:{background:"#ccc"}});
相当于$("<a>link</a>")).css("background", "#ccc");
.eq(-N), .get(-N) (负指数) (.eq() 文档, .get() 文档, Commit)
你现在可以在.get()
和.eq()
方法里使用负数。譬如,你要选择倒数第2个div元素,或者是倒数第2个DOM对象:
$("div").eq(-2); $("div").get(-2);
新的.first()和.last()方法 (.first() 文档, .last() 文档, Commit)
方便起见, 新增的.first()
和.last()
方法等同于.eq(0)和.eq(-1).
新的.toArray()方法 (.toArray() 文档, Commit)
.get()方法自始就是从jQuery集合里返回一个阵列。为了能够更明确, 你可以用.toArray()来达到一样的效果。(译注:这里应该是为了以后的版本留出空间,譬如以后可能会加入.toList()方法,到时候就会易于区分。) 不过,和.get()
不一样的是,.toArray()
不接受参数。
jQuery()返回一个空集 (jQuery() 文档, Commit)
在jQuery 1.3中,jQuery()方法返回仅包括document
的jQuery集合。这个可以用来创建一个空集,然后动态加入一些元素。注: jQuery().ready()
方式在1.4中依然有效,但是被指示陈旧了。请使用jQuery(document).ready()
或者jQuery(function(){})
。
jQuery(“TAG”) (Element Selector 文档, Commit)
当使用单个标签名字的时候jQuery会使用更快捷的路径。
jQuery(“<div>”), jQuery(“<div/>”) 和 jQuery(“<div></div>”) (jQuery() 文档, Commit)
现在这三个方法都使用同一个代码路径了(document.createElement), 来优化jQuery("<div></div>")
的性能。注意,如果你指定了属性,将会使用浏览器本身的语法分析(通过设置innerHTML)。
样式 (CSS)
.css()方法在性能是以前的2倍。
.addClass()
, .removeClass()
, 和 .hasClass()
这几个方法在性能上是以前的3倍
.toggleClass()可以切换多个css类了 (.toggleClass() 文档, Commit)
你可以通过.toggleClass()调用多个css类的名字来切换他们。
$("div").toggleClass("current active");
发表评论
-
测试下空格 十六个空格
2011-08-29 19:22 1191测试下空格 ... -
去掉IE浏览器的body边框
2010-03-08 10:19 2965style="BORDER-RIGHT: 0px; ... -
非ajax请求 返回json,xml数据出现文件下载提示
2010-03-05 17:15 3801非ajax的请求在Action却返回 json或xml数据 ... -
浏览器内存泄漏
2010-03-02 16:50 856频繁的dom元素的创建,删除容易引起内存泄漏。 所以有set ... -
jQuery UI dialog
2010-03-02 16:43 1228最近一段时间应用了 jQuery ui dialog -
转jQuery sizzle
2010-01-25 22:58 1289jquery 1.3将选择器引擎 ... -
转jQuery1.4官方文档翻译 (二)
2010-01-23 22:52 1129数据 .data()返回对象, .data(Object)设 ... -
jQuery cookie 插件学习
2010-01-20 15:46 1931/** * Cookie plugin * * Copyrig ... -
Eclipse快捷键
2010-01-19 10:15 1179记录下自己用的比较多的Eclipse设置和快捷键。 查找替换 ... -
jQuery 源代码的bug吗?
2009-12-08 13:58 999jQuery 1.3.2 3198 // Fig ... -
jQuery click 事件
2009-12-08 09:45 1146jQuery绑定click事件的时候,return false ...
相关推荐
《jQuery中文文档1.8和1.4的chm文档》是两个版本的jQuery官方文档的中文翻译版,主要用于帮助开发者理解和使用这个广泛应用于Web开发的JavaScript库。jQuery以其简洁的API和强大的功能,极大地简化了DOM操作、事件...
我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人未能及时制作成CHM版本,特意在开工的当天将其整理完成,由于时间赶的比较急,难免会有错误,如发现错误,请联系本人...
我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人未能及时制作成CHM版本,特意在开工的当天将其整理完成,由于时间赶的比较急,难免会有错误,如发现错误,请联系本人...
- **文档翻译**:1.4 版本的 API 中文版使得中国开发者更容易理解框架,降低了学习门槛。 - **在线论坛**:jQuery EasyUI 有活跃的开发者社区,可以提问、交流经验、获取帮助。 - **示例代码**:社区中有很多实际...
我们也随即投入到翻译文档的工作中来。经过4天的努力,终于完工了。 由于赶上中国农历新年,本人未能及时制作成CHM版本,特意在开工的当天将其整理完成,由于时间赶的比较急,难免会有错误,如发现错误,请联系本人...
该资源"jQuery API 1.4.rar"是一个关于jQuery 1.4.1版本的速查表中文翻译版,由Shawphy翻译,原作者为G. Scott Olson。这个压缩包内含的文件"jQueryAPI1.4.chm"是一个帮助文档,方便开发者快速查找和理解jQuery ...
截止到目前,easyui最新版为1.4 官网文档地址:... 官网不稳定,有时候会挂掉。然后过一段又能访问,不方便 jQuery EasyUI 1.4 版 API 中文版 .exe 打开可以离线查看,已根据官方文档翻译成中文
本人亲自制作JQuery EasyUI 1.4 用户手册,本来想翻译成中文,但后来想想还是不要译好,如果真的很多人想要中文版,那就再等下子,其实我仔细揣摩着译了几个组件了,争取原汁原味的译出来,但是由于翻译后中英文所占...
"JQuery_1.4_API.CHM"提供了jQuery API的详细说明,包括所有函数和方法的用法;"css2.0中文手册.chm"涵盖了CSS2.0的所有特性,对于理解和应用CSS非常有帮助;"Html中文手册.chm"则对HTML元素、属性和规则进行了详尽...
- **最新英文API文档**: [http://api.jquery.com/](http://api.jquery.com/),可通过谷歌翻译辅助阅读。 通过以上内容的梳理,我们可以看到jQuery是一款功能强大且易于使用的JavaScript库,非常适合Web开发人员...
此文档为 **jQuery EasyUI 1.4.5版本** 的官方API文档中文版,由 Richie696 制作,主要面向使用中文的开发人员。 该文档详细介绍了 jQuery EasyUI 各个组件的功能、用法以及API细节,对于初学者来说是一份非常宝贵...
全历插件FullCalendar是基于JavaScript库jQuery的一款强大的日历组件,版本1.4.6在当时是一个广泛应用的版本。这个插件允许开发者在网页上创建互动式、可定制的日历视图,包括日视图、周视图、月视图,甚至可以支持...
因此,本中文API文档为这部分用户提供了一个方便的解决方案,帮助他们通过翻译版本快速查阅相关功能和用法。 使用Uploadify时,需要确保项目中已经引入了jQuery库,版本要求至少为1.4.x。同时,需要Flash播放器版本...
google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...
Message-Driven Bean EJB实例源代码 2个目标文件 摘要:Java源码,初学实例,EJB实例 Message-Driven Bean EJB实例源代码,演示一个接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式 //给客户发一个感谢...
google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...
google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...