jQuery1.9要注意的事项,有那些不同

 我说说我自己碰到的升级的问题及一些解决方案。

1.attr,如果像是取‘checked’或者‘readonly’这种属性,请换成prop,官方建议这样,举个例子:

  1. $('checkbox').attr('checked', 'checked'); //不推荐
  2. $('checkbox').prop('checked', true); //推荐

 

2.hover,这个用的非常多,但是不知为啥,官方去掉这个方法,建议用“mouseenter mouseleave”代替,举个例子:

  1. $('body').hover(function, function); //旧
  2. $('body').on({'mouseenter': function, 'mouseleave': function}); //新

 

3.toggle,这个指的是.toggle(function, function, ... ),不是控制一个元素隐藏显示的那个方法,不要误解。这个要根据自己的条件跟方法去找到替代的方法,这里就不举例子了。

4.jQuery.browser(),这个现在是直接被干掉了,建议用其他第三方的检测浏览器的库或者通过原生的navigator.userAgent来判断,这里推荐用Modernizr,非常专业,非常强大,不仅仅是浏览器,还有更多请自行发掘。不想引入整个库的可以根据自己的需要自行下载部分源码,地址:http://modernizr.com/download/

5.live/die,这个api之前用来动态绑定和解绑的,在jQuery1.9.0后,其被删除了,直接用“on/off”替换源码里面的live即可。

6.$(html),这里的‘html’必须以“<”开头,否则要报错,其他的字符应该不太会有,就怕有空格,我这里的解决方案是使用$.trim()处理下“html”。

7.AJAX事件只能绑定在document上,不能再绑定到元素上,举个例子:

  1. $("#status").ajaxStart(function(){ $(this).text("Ajax started"); }); //旧
  2. $(document).ajaxStart(function(){ $("#status").text("Ajax started"); }); //新

 

好了,差不多了

来源://作者:/更新时间:2013-04-13
相关文章
评论:
验证码:
匿名评论: