jQuery 团队宣布了 jQuery 3.0 alpha 版本,使开发人员可以为即将正式推出的特性做好准备。在那篇博文中,团队核心成员 Timmy Willison 描述了许多变化,并要求社区帮忙测试。
这个版本包含若干破坏性变化,开发人员在升级到最新版本之前要测试他们的代码,这一点很重要。以下是部分最主要的变化:
- 简化
.show()
和.hide()
的逻辑 - 延迟对象兼容 Promises/A+
- 用于动画的
requestAnimationFrame
对.show()
和.hide()
实现方式的修改建议肯定会让部分 Web 开发人员十分痛苦。按照那篇博文的说法,几年来,那些方法背后的逻辑变得越来越复杂,涵盖了越来越多的边缘情况。随着响应式设计成为主流,更多的逻辑被加入进来,用于处理现代设计需求。
3.0 版本撤销了所有这些复杂的逻辑,恢复成一个简单的设置或清除方法display: none
。jQuery 团队清楚,这会破坏许多代码,因此,他们提出了下面这条建议:
不要使用样式表设置默认值为
display: none
,然后尝试使用.show()
——或者其它任何显示元素的方法,如.slideDown()
和.fadeIn()
——让它显示。
在 Reddit 的讨论中, Larry Davis (lazd)提出了仅使用内置的 HTML5 属性hidden
显示及隐藏元素的建议。这个特性经常用于现代浏览器中,但在旧浏览器中有兼容问题。但是, Dave Methvin 指出,在这种常见的场景中使用hidden
不符合 HTML5 规范的建议做法。
Alpha 版本有两个:3.0 版本和 3.0 兼容版本。通先前的版本一样,主要版本面向 IE9 及以上版本,而兼容版本面向需要支持 IE8 的开发人员。
3.0 版本的发布时间尚未公布。
开发人员可以通过 CDN 试用新的库( 3.0 版本、 3.0 兼容版本),或者通过 npm:
npm install jquery@3.0.0-alpha1 npm install jquery-compat@3.0.0-alpha1
在发布公告的底部有一份 alpha 版本的完整更新列表,欢迎开发人员参与到 GitHub 上的讨论中。
评论