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上的讨论中。
查看英文原文:jQuery 3.0 Alpha Announced, Developers Need to Test