存档

文章标签 ‘区别’

jQuery学习笔记6——jQuery 1.2.6 与 1.3 的主要区别

2009年11月12日 IT北瓜 没有评论

      2009年01月14日jQuery 1.3正式发布,1.3相比1.2.6在性能和浏览器兼容方面都做了不少改进,如:更为强大的选择器重写了Offset()等等。这里仅引用jQuery官方的几个测试图片,详细信息请查看http://docs.jquery.com/Release:jQuery_1.3

本文要说的区别着重点不在性能的提升和浏览器的兼容,而是方法的差异和功能的新增。

在实际使用中,Leeo感觉1.3与1.2.6最大的不同有两个:

1:取消了@符号

/*
例如:获取一个name为leeo的input的值
*/
/*
1.2.6的写法
*/
$('input[@name="leeo"]').val();
/*
1.3的写法
*/
$('input[name="leeo"]').val();

2:新能live()和die()方法

/*
live(type, fn)
type:事件类型
目前支持
click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。 
还不支持
blur, focus, mouseenter, mouseleave, change, submit
fn:欲绑定的事件处理函数
*/
/*
实例:在1.2.6版本中加入我们用append()方法向DOM追加一个按钮
*/
$('#newBtn').click(function(){
    alert("IT北瓜");
});
$('#appendButton').append('<input type="button" id="newBtn" name="newBtn" />');
//我们会发现当点击按钮的时候并没有弹出我们想要的信息,因为click事件并没有绑定到newBtn上
//而1.3新增的live(type, fn)方法却可以轻松的做到这一点
$('#newBtn').live('click', function(){
        alert("IT北瓜");
});
$('#appendButton').append('<input type="button" id="newBtn" name="newBtn" />');

/*
die([type], [fn])方法是与live(type, fn)相反的方法
type (可选):要解除绑定的live事件
fn (可选):要解除绑定的特定处理函数
*/
/*
实例:给按钮解除click事件
*/
function dieClick() {
     alert("IT北瓜");
}
$('#newBtn').live('click', function(){
    dieClick();
    $('#newBtn').die("click", dieClick);
});

当然,除了以上说到的两点,1.3中还有其他新增的方法,如:jQuery.support等等…