jQuery UI 团队很高兴地宣布 jQuery UI 1.8 的最终版本发布,其中包含 5 个新插件、1 个新效果以及数百个错误修复和改进。
我们付出了巨大的努力,使 jQuery UI 更加轻便、模块化,并拥有更灵活、更可扩展的核心。现在,构建自己的小部件或扩展我们的小部件变得更加容易,无论你使用 jQuery UI 小部件工厂、jQuery UI CSS 框架,还是两者兼而有之。此次发布是历时 9 个多月的集体努力,得到了数百名开发人员、设计师、测试人员和用户的贡献。感谢大家一直以来的帮助和支持。在本文的末尾,我们将对这些贡献者一一表示感谢!
代码、主题、演示和文档现在已经可以在 jqueryui.com、jQuery UI 下载构建器、ThemeRoller 和 Google 的 AJAX 库 API 上访问。
注意:此版本包含重大更改(在某些情况下是破坏性更改)。如果你目前使用或开发 jQuery UI 插件,请务必查看 变更日志 和 升级指南,以了解有关这些更改及其影响的完整详细信息。
下载 jQuery UI 1.8
我想要全部
我知道我想要什么
我想要一直使用它
jQuery UI 1.8 中有哪些新功能?
此版本添加了两个新的实用程序、两个新的组件、一个升级后的组件工厂和一个更模块化的核心。有关 jQuery UI 1.7.2 和 jQuery UI 1.8 之间所有更改的完整列表,请参阅 1.8 变更日志。有关一些较大且更明显的更改的摘要,请参见下文。
位置实用程序
将任何元素相对于任何其他元素定位,甚至相对于窗口或鼠标定位。按照真正的“少写代码,多做事情”的方式,它只需选择你想要定位的元素,然后指定它的哪个部分应该相对于另一个元素的哪个部分定位。就这么简单。
按钮组件
按钮组件可以从你可能用作原生按钮的任何元素中创建一个可主题化的按钮。完全使用渐进式增强。现在,你的
自动完成组件
现在,你可以使任何文本输入弹出菜单,以帮助用户完成文本输入或搜索框,提供建议或允许的值。自动完成组件是基于流行的 Jörn Zaefferer 的自动完成组件设计和构建的。与按钮组件一样,我们尽可能地保持 API 最小化,同时提供必要的钩子,以便根据你的需求进行自定义。例如,你可以使用 source 选项提供静态本地数据,或者提供一个回调函数作为数据源,该函数可以通过 Ajax 处理从服务器获取数据。单一选项,重载功能。这是我们今后编写和重构所有组件的新方法,我们很高兴听到大家的想法。这是一个相当大的改变,但应该可以让库保持精简,同时仍然尽可能地灵活和强大。有关更多信息,请参阅自动完成演示。
这是另一个新的插件,其大部分实现工作要归功于 Jörn Zaefferer,API 设计由 Jörn Zaefferer、Scott González 和 Richard D. Worth 完成。Filament Group 始终如一地提供交互式设计以及静态标记和 css 引用。
新的组件工厂
Scott González 和 Jörn Zaefferer 在社区的帮助下,在这个版本中完成了对 jQuery UI 组件工厂的大量更新。这些更改使创建和扩展自己的组件、扩展我们的组件或扩展其他人创建的组件变得更加容易。
注意:其中一些是破坏性更改,需要升级基于 1.7 组件工厂构建的插件。有关这些更改及其影响的摘要,请参阅 升级指南中的组件工厂部分。
有关这些更改的另一个摘要以及我们为什么对它们如此兴奋,请参阅 David Petersen 的 这篇博文。感谢 David。
jQuery UI 核心缩小 71%
最新版本的 jQuery UI 核心缩小了 71%。这一优化主要通过将已经模块化的但捆绑在一起的组件 mouse 和 widget 分离来实现。
新的 mouse 插件文件使 jQuery UI 平均缩小 14%
mouse 插件并不新鲜,但此版本将其移至自己的文件 jquery.ui.mouse.js 中,之前它位于 jQuery UI 核心内。这意味着,以前包含 jQuery UI 核心但并不依赖于 mouse 插件的 jQuery UI 插件需要包含的未用代码更少,文件大小平均总体上提高了 14%。这只是一个平均值。一些改进幅度高达 36%。
文件重命名
所有 .js 和 .css 文件都已重命名,以 jquery.ui. 为前缀,而不是 ui. 为前缀。这样做是为了与 jQuery 插件命名指南保持一致,并为正在开发的一些工具做准备,这些工具将允许轻松创建包含 jQuery 插件和 jQuery UI 插件的自定义构建。
注意:如果你编写自己的 jQuery 插件,即使它是基于 jQuery UI 组件工厂,也请遵循 jQuery 插件命名指南“jquery.{plugin-name}.js”,而不是“jquery.ui.{plugin-name}.js”。这将使你更容易区分是官方 jQuery UI 库的一部分还是不是官方 jQuery UI 库的一部分的 jQuery 插件。组件命名空间和 css 类命名空间也是如此,当然,使用通用 jQuery UI CSS 框架类时除外。例如,如果你编写一个名为 foo 的组件,则该文件应命名为 jquery.foo.js,而不是 jquery.ui.foo.js。该组件可以使用 ui-widget、ui-widget-content、ui-state-active 等类(有关完整列表,请参阅 主题文档),但不能使用 ui-foo 和其他 ui-foo-* 类名,因为这些类名将保留给 jQuery UI 库中的 foo 组件,或 jQuery UI Foo 组件,其文件名将为 jquery.ui.foo.js。
最新版本的 jQuery 1.4.2
jQuery UI 1.8 包含最新版本的 jQuery,即 1.4.2。它速度非常快。
如何升级?
- 下载 jQuery UI 1.8(请参阅上面的链接)
- 如果你要从 1.7 升级到 1.8,请务必遵循最新的 升级指南。如果你要从更旧的版本升级,则需要先遵循旧的 1.7 升级指南。
- 最后,要了解 jQuery UI 在 1.8 中的每个部分都变得有多好,你可以详细查看 变更日志。如果你最喜欢的错误还没有修复,请务必在我们的 错误跟踪器 或新的 开发 jQuery UI 论坛 中告知我们。
jQuery UI 1.7 怎么样?
jQuery UI 1.8 正式版的发布使其成为 jQuery UI 的最新稳定版本。这使得之前的版本 1.7.2 成为旧版本。jQuery UI 项目同时支持最新的稳定版本和一个旧版本。因此,从现在开始,jQuery UI 下载构建器和 ThemeRoller 只包含这些版本。任何早于 1.7.2 的版本都不再受支持,所有用户都建议尽快升级到 1.8。
在尝试将旧的 jQuery UI 1.7.2 与最新的 jQuery 1.4.2 一起使用时,发现了一些问题。这些版本不兼容。旧的 jQuery UI 1.7.2 仅与 jQuery 1.3.2 兼容。即将发布的 jQuery UI 1.7.3 版本将使其与最新的 jQuery 1.4.2 兼容。这将是最后一个 1.7.x 版本,将冻结此分支。
感谢
感谢所有为此次发布做出贡献的人,特别是:3li、4pcbr、abaumhau、aesnn、aflynt、ajpiano、akaihola、akshell、alab1001101、albertvo、alexch、allanm051、andreas、Andrew Powell、andrew.sharpe.7.9、Aneon、antonello.pasella、aron.duby、arunpjohny、ashish879、ask、attaboy、audreyt、AzaToth、babaker、BenBlank、bhornseth、bkrausz、bman654、BMCouto、bmherold、bobbykjack、bobmajdakjr、bohdan.ganicky、bornemix、Brant Burnett、brostbeef、burhan、Ca-Phun Ung、caesar2k、carltongibson、cfrerebeau、chaos、Chealer、Chi Cheng、chrisbarr、cjwilks、coeamyd、colinclark、conkey2、crankharder、crexland、cupdike、cyberdaz36, d.wachss、d3r1v3d、dantman、danw、darkprisma、david.brooks、davidascher、davidb、defenestrator、Demphest、dhlavaty、diogobaeder、DiRN、divide、dluk、dmethvin、dmfontz、dmuir、dohsun、doublerebel、dougneiner、doutu、dpeterman、dprunier、DRHansen、dtetto、duelli、dunghopper、ecaron、eib、epascarello、epiraux、erikharrison、ethan、FDisk、FelipeMorais、fgTodd、Flany、FreakCERS、geki007、george.adamson、glipman、gotmikhail、grabanski、graemeworthy、GreyCells、guile、haayman、hatapitk、idlesign、igor.morozov、Infarinato、itfische、ivanko、jabbott7、JBeckton、jdillmann、jeffgran、jollytoad、julian.jelfs、Jörn Zaefferer、kae、ke4roh、Keith Wood、kevin.wells、klarkin、Klaus Hartl、kswedberg、lisaj、lnostdal、lunchtimemama、L_K_W、m4olivei、macarthy、Maggie Costello Wachs、marcoos、margustiru、martinkeimel、Matty、mawcs、mconway、mdiaz、menteb、mesoconcepts、mg、MikaJ、mikecapp、mikehostetler、Miroku_87、mkemmerling、mkornblum、moveax、MugeSo、mulhoon、mvermilion、neilski、nikolae、NJBR、nodster、ntoniazzi、obrie、patrick、Paul Bakaus、quasipickle、qwerty、ramaboo、raszi、rbrackett、remi、rgluga、ricardolopezrey、Richard Worth、riegens、rnbguru、RobARichardson、rsyring、Rwhitbeck、sam、Sancus、sc0rchin、SCCY、Scott González、Scott Jehl、sdavis、sebbacon、Sebmaster、seph429、sgorski、shartley、sherington、shuckster、slobo、smadep、snobo、sonu27、sosensible、spiralni、stakach、StevenBlack、TaeVjQuery、tan、Tgr、th3br41n、theojapa、thetoolman、tibi7000、timolastfm、togis、tomas、triblondon、trixta、uggedal、urkle、veronica、viraj.kanwade、vmx、vrn_shan、wakamolee、wewals、whydream、wichert、wimvl、Wolfjourn、xorax、xover、yourcelf、ZaDarkSide、ZeroMD、zeta、Zidane