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