Benjamin - 专注前端开发和用户体验

jQuery 3.0 Beta Released

JAVASCRIPT Benjamin 1030℃ 0评论

jQuery blog: jQuery 3.0 Beta Released 2016-01-14

1. 优化.show()和.hide()方法

2. 改进.data()方法实现,为更好匹配HTML5 dataset specification

<div data-name="张三" data-sex="男" data-year-month-day="2016-02-22" data-birth-87-event="出生日期" id="user">专注前端开发及用户体验</div>
// 包含数字时key的名称转换略有不同
// Object {birth-87Event: "出生日期", yearMonthDay: "2016-02-22", sex: "男", name: "张三"}
console.log( $('#user').data() );

// DOMStringMap {name: "张三", sex: "男", yearMonthDay: "2016-02-22", birth-87Event: "出生日期"}
console.log(document.getElementById('user').dataset)

3. width() and height() 返回十进制值
之前有部分浏览器会返回浮点数

4. 移除.load(), .unload(), and .error() 方法,可使用.on()方法处理

$(window).on('load', function(){
    // TODO  
});

5. jQuery动画使用requestAnimationFrame API来实现

jQuery.fx.interval = 13;

// 开始动画
jQuery.fx.start = function() {
    if (!timerId) {
        timerId = window.requestAnimationFrame ?
            window.requestAnimationFrame(raf) :
            window.setInterval(jQuery.fx.tick, jQuery.fx.interval);
    }
};

// 停止动画
jQuery.fx.stop = function() {
    if (window.cancelAnimationFrame) {
        window.cancelAnimationFrame(timerId);
    } else {
        window.clearInterval(timerId);
    }

    timerId = null;
};

6. 增强了.unwrap()方法

// .unwrap()方法先支持传参,接受jQuery selector参数。
unwrap: function(selector) {
    this.parent(selector).not("body").each(function() {
        jQuery(this).replaceWith(this.childNodes);
    });
    return this;
}

7. jQuery.Deferred支持Promises/A+ and ES2015 Promises

8. 更好的错误处理
比如$(‘#’)会抛出一个错误,而不像以前版本会返回一个空集合。

9. 大幅度提升jQuery自定义选择器速度
如果自定义选择器使用多次,会对其进行缓存处理,进而提高访问速度!

版本下载:
You can get the latest version directly from: https://code.jquery.com/jquery-3.0.0-beta1.js
The minified version is available from: https://code.jquery.com/jquery-3.0.0-beta1.min.js

喜欢 (1)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽