83510191 2013-06-27
jQuery1.9删除了一些在1.8中已经过时的api,想要把那些不够安全的、缺乏效率的、用处不大的,以及带有误导的特性统统去掉。如果你想升级你的jquery版本,但又使用了如下被删除的api的话,可以引入Migrate迁移插件,被删除的api可以在Migrate插件中修复。
.toggle(function, function, … )
toggle()方法可实现点击一个元素来执行指定函数。此方法被删除以减少混乱和提高潜在的模块化程度。
jQuery.browser()
jQuery.browser()通过UA信息来检测浏览器。此方法在1.3版本中已不赞成使用,并在1.9版本中被删除,jquery团队更建议通过特性检测来时您的代码兼容浏览器。
.live()
live()方法可以为未来生成的元素添加事件,此方法在1.7版本中已不赞成使用,并在1.9版本中被删除,您可以使用on()方法来代替。
.die()
die()方法可以移除live()添加的事件,此方法在1.7版本中已不赞成使用,并在1.9版本中被删除,您可以使用off()方法来代替。
.sub()
sub()方法可以可创建一个新的jQuery副本,不影响原有的jQuery对像,但用例的数量已经不足以证明它存在的价值。
其实关于live被删除的事件早就在1.7.2版本以后就有通知过了 不过在官方一直提倡使用.on代替.live的过程中 .live事件一直沿用
今天更新了 看下jQuery1.9的相关信息 发现api中完全的删除掉了.live事件
我猜肯定有人关于.on事件 并没有以前.live事件那么好用 甚至有的时候绑定不上事件
其实关于这个答案是这样的, .on事件不同于以往的.live和.bind事件使用方法:
$('selecter').live('click', function(){ // do something... });
而转到.on事件应该这样:
$(document).on('click', 'selecter', function(){ // do something... });
而.on事件可以完全代替以往的.bind, .delegate等事件
转换方法如下:
// Bind $("#members li a").on("click",function( e ){}); $("#members li a").bind("click",function( e ){});// Live $( document ).on("click","#members li a",function( e ){}); $("#members li a").live("click",function( e ){});// Delegate $("#members").on("click","li a",function( e ){}); $("#members").delegate("li a","click",function( e ){});