发布于:2021-02-06 00:00:56
0
105
0
jQuery 3.0的Alpha版本已经着陆,并且着重于更新以更匹配HTML5数据集规范。构建,核心和CSS更改占据了该发行版的大部分,而jQuery Promises也引起了一些关注。
jQuery是另一个主要版本着手在jQuery 3.0阿尔法到达 一个新的版本肿块。加入发布聚会的是jQuery Compat 3.0,其中包括对Internet Explorer 8的支持。
主要变化
jQuery 3.0中肯定会有一些重大更改,而下注者可以期望将更大的功能添加到该Beta和最终版本中。简化.show()和.hide()方法在功能列表中居于首位,结束了jQuery团队经常发现的“许多复杂的特例”漩涡。
您会看到jQuery已经走到了完全疯狂的一半,并且完成旅程没有任何意义。特殊情况和检查不仅复杂且不完整,而且还会在大页面上引起严重的性能问题。
团队的Timmy Willison在一个简单的原始模型中描述了这些方法的发展。但是,这也意味着某些代码将被破坏。“如果样式表中的元素设置为display: none,则该.show()方法将不再覆盖该元素”。
对于jQuery 3.0,建议开发人员不要使用样式表设置默认值,display: none然后尝试使用.show()–或任何显示元素使其可见的方法。团队已经意识到该更改可能会引起争议并且难以调整,因此他们很高兴收到有关更改如何影响您的代码的反馈。
jQuery的 .data()实现已进行了更新,以与HTML5数据集规范配合使用,这意味着无论使用哪种访问方式,键都已从kebab-case转换为camelCase。用户还应注意,数字不再参与转换。
但是,许多开发人员感到兴奋的主要变化是jQuery.Deferred现在与Promises / A +兼容。在.catch()Willison对该.then()方法进行的一些重大更改的基础上,有必要引入一种方法:
回调总是异步调用
进度回调无法再解析绑定到的延迟对象
.then()回调中引发的异常现在变为拒绝值
.then()现在,由创建的Deferred的解析状态由其回调控制-异常变为拒绝值,不可回收的回报变为实现值
所有Promise更改均已通过Promises / A + Compliance Test Suite进行了验证 。
Alpha中的其他主要更改包括删除jQuery.ajax中特殊情况的Deferred方法,删除不赞成使用的事件别名以及使用Animations。有关每个更改的详细信息,以及整个更改列表,可以在Willison的原始博客文章中找到。
作者介绍