时隔 3 单月,jQuery 团队终揭晓了 3.0 Alpha 版本。有少数独本子本 jQuery
compat 3.0 和
jQuery 3.0。

  • jQuery compat 3.0 对许事先的 1.x, 兼容更多之浏览器,对于IE支持到
    8.0 版本
  • jQuery 3.0 对诺事先的 2.x,关注更新的浏览器,对于IE支持到 9.0 版本

另外, 3.0尚加了针对性 Yandex 浏览器的支撑,一款款来自俄罗斯之浏览器。

 

1、简化了 show/hide

事先的 show/hide 是充分兼容,比如 show, 无论元素的 display
是形容以style,stylesheet里还能显示出来。3.0 则不同了,写以 stylesheet
里之 display:none 调用 show 后仍隐藏。 3.0 建议以 class
方式去展示隐藏,或者完全使 hide 先隐藏(不使用css代码),再调用 show
也得以。

<style>
    input {
        display: none;
    }
</style>
<input id="txt" type="text" value=""/>
<script>
    $('#txt').show(); // 仍然隐藏的状态
</script>

  

2、data 方法兼容 data-name-11 写法

<input id="txt" type="text" value="" data-name-11="aa"/>
<script>
     // 3.0 版本 输出 {"name-11": aa}, 之前版本输出 {}
    $('#txt').data()
</script>

其一题材本质是$.camelCase方法的实现差异

// 3.0 输出 "name-11", 3.0 之前版本输出 "name11"
$.camelCase('data-name-11') 

  

3、derferred 兼容了 Promise/A+

3.0 终于得满怀信心的宣布支持 Promise/A
了,之前一直深受指责是阉割版的。

 

4、$.ajax 对象删除了 success | error | complete 方法

这是为 Promise/A 规范的推波助澜,大家对 Promise 的行使更为多,之前对许
Derferred 上的几乎单措施无有的必要了

  • derferred.done -> jqXHR.success
  • derferred.fail    -> jqXHR.error
  • derrerred.always -> jqXHR.complete

    // 以下方法以 3.0 后不曾了
    $.ajax().success
    $.ajax().error
    $.ajax().complete

 

5、width/height,css(width) / css(height) 的返回值一律是十进制

之前部分浏览器特殊情况下回到浮点数。

 

6、 移除了注册事件之快捷函数 load | unload | error

  • load jQuery名称及 ajax load 同名, 含糊不清。
  • unload 如果 load 去丢, unload 也未曾有的意义了。
  • error 采用 window.onerror 注册,不是一个专业事件
    hander,因此也建议移除

 bug:http://bugs.jquery.com/ticket/11733

 

7、动画模块使用 “requestAnimationFrame” 替代 setTimeout

requestAnimationFrame
IE9及android4.4以下仍然不支持,但别浏览器虽然强烈提升性

 

 

 

补:

专业版被2016-6-9
发布 http://blog.jquery.com/2016/06/09/jquery-3-0-final-released/

 

相关:

http://blog.jquery.com/2015/07/13/jquery-3-0-and-jquery-compat-3-0-alpha-versions-released/

 

相关文章

网站地图xml地图