jQuery为庆祝4周年发布了1.4的版本,还兴师动众的开通了网站jquery14.com做宣传,最近关注jQuery的我自然也不能袖手旁观,也跟踪报道一下吧:)
jQuery 1.4 Released中,详细的介绍了jQuery1.4新带来的变化,这里我只举出本人印象最深刻,最喜爱的7个新特性吧:
0) 快速构建页面元素 - 再用jQuery方法构架新元素时,可以传入一个包换这个新元素的属性和事件的对象,这个实在太方便,热爱指数



1) 性能进一步优化: jQuery几乎每发布一个版本,性能就会提高一些(和常见的一些程序正好相反),以John Resig的功底和态度我怀疑地球上还是否有更高效的js框架了 - 即使有,也是jQuery要赶超的目标 - 看看这次版本优化的对比图吧,热爱指数



2) 为Ajax请求的所有回调制定context - 我再也不想回忆起当初用prototype.js时使用Function.prototype.bind的痛苦了,热爱指数



6) 版本号 - 1.4这个版本让我想起了java的1.4版本,不知jQuery这个版本能走多远,热爱指数
0) 快速构建页面元素 - 再用jQuery方法构架新元素时,可以传入一个包换这个新元素的属性和事件的对象,这个实在太方便,热爱指数




jQuery("<div/>", {
id: "foo",
css: {
height: "50px",
width: "50px",
color: "blue",
backgroundColor: "#ccc"
},
click: function() {
$(this).css("backgroundColor", "red");
}
}).appendTo("body");
1) 性能进一步优化: jQuery几乎每发布一个版本,性能就会提高一些(和常见的一些程序正好相反),以John Resig的功底和态度我怀疑地球上还是否有更高效的js框架了 - 即使有,也是jQuery要赶超的目标 - 看看这次版本优化的对比图吧,热爱指数




2) 为Ajax请求的所有回调制定context - 我再也不想回忆起当初用prototype.js时使用Function.prototype.bind的痛苦了,热爱指数


jQuery.ajax({
url: "test.html",
context: document.body,
success: function(){
jQuery(this).addClass("done");
}
});
3) 同时给元素绑定多个事件 - jQuery的一些插件中早有类似的处理方法,这次终于引入到bind函数中了,热爱指数
$("div.test").bind({
click: function(){
$(this).addClass("active");
},
mouseenter: function(){
$(this).addClass("inside");
},
mouseleave: function(){
$(this).removeClass("inside");
}
});
4) 新的事件'focusin'和'focusout' - 'focusin'/'focusout'和原来的'focus'/'blur'类似,但是'focus'/'blur'不参与事件冒泡,而且'focus'/'blur'不能用在 live()方法中,因此我们可以得出总是尽量使用新的'focusin'/'focusout'的结论,热爱指数
$("form").focusout(function(event) {
var tgt = event.target;
if (tgt.nodeName == "INPUT" && !tgt.value) {
$(tgt).after("nothing here");
}
});
5) 使用Closure Compiler替代原来的YUI Compressor - 最小化Gzip后23KB, 看来 Closure Compiler vs. YUICompressor 的大战上Closure Compiler又赢了一招,另外Google帮忙host jQuery ,怎么也得给人个面子吧:) (有意思的是最有一个YUICompressor的版本大小是19K,不过要考虑为压缩的版本1.4比1.3.2要大,按比例算下来还是差不多的),热爱指数
6) 版本号 - 1.4这个版本让我想起了java的1.4版本,不知jQuery这个版本能走多远,热爱指数
