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 中有什么新功能?
此版本添加了两个新的实用程序、两个新的 widget、一个升级的 widget 工厂和一个更模块化的核心。有关 jQuery UI 1.7.2 和 jQuery UI 1.8 之间所有更改的完整列表,请参阅1.8 更改日志。请参阅以下内容,了解一些较大且更明显的更改的摘要。
位置实用程序
将任何元素相对于任何其他元素定位,甚至相对于窗口或鼠标定位。以真正的“少写,多做”的方式,就像选择要定位的元素并说明它的哪一部分应该相对于另一个元素的哪一部分定位一样简单。砰的一声。
按钮 widget
按钮 widget 从您可以用作原生按钮的任何可以想象的元素创建可主题化的按钮。一直进行渐进增强。现在,您的<button> 将看起来像您的<input type=”submit”> 将看起来像您的<a class=”button”>。我们更新了包含按钮的 jQuery UI widget,例如 Dialog,以在您选择包含按钮插件时使用它。否则,它们将保持原生按钮元素。再次感谢 PE,这尽可能地不显眼。感谢 Filament Group 想出了如何做到这一点,感谢 Jörn Zaefferer 让它成为现实。当然还要感谢整个社区在早期设计/开发以及后续开发/测试期间提供的反馈。我们对拥有漂亮的表单元素感到兴奋,而按钮只是第一步。
自动完成 widget
现在,您可以使任何文本输入弹出菜单以帮助用户完成文本输入或搜索框,提供建议或允许的值。自动完成是根据流行的 Jörn Zaefferer 的 Autocomplete 设计和构建的。与按钮 widget 一样,我们尽可能地将 API 保持最小化,同时提供必要的挂钩以根据您的需求进行自定义。例如,您可以使用 source 选项提供静态本地数据,或提供回调函数作为数据源,该函数可以处理通过 Ajax 从服务器获取数据。单个选项,重载。这是我们今后编写和重构所有 widget 的新方法,我们很高兴听到人们的看法。这是一个很大的改变,但应该让库保持精简,同时尽可能灵活和强大。请参阅自动完成演示以了解更多信息。
这是另一个新的插件,其大部分实现工作要归功于 Jörn Zaefferer,API 设计则由 Jörn Zaefferer、Scott González 和 Richard D. Worth 完成。Filament Group 始终如一地提供交互设计以及静态标记和 CSS 引用。
新的 widget 工厂
Scott González 和 Jörn Zaefferer 在社区的帮助下,在此版本中完成了对 jQuery UI Widget 工厂的重大更新。这些更改使创建和扩展您自己的 widget、扩展我们的 widget 或扩展其他人创建的 widget 变得更加容易。
注意:其中一些是破坏性更改,需要为构建在 1.7 widget 工厂之上的插件进行升级。这些更改及其影响的摘要可以在升级指南的 widget 工厂部分中找到。
有关这些更改的另一个摘要以及我们为何如此兴奋的原因,请参阅 David Petersen 撰写的这篇文章。感谢 David。
jQuery UI Core 缩小了 71%
最新版本的 jQuery UI Core 缩小了 71%。这种优化主要是通过提取已经模块化但捆绑在一起的组件 mouse 和 widget 实现的。
新的 mouse 插件文件使 jQuery UI 平均缩小了 14%
mouse 插件并不新鲜,但此版本将其移动到自己的文件中,即 jquery.ui.mouse.js,而之前它位于 jQuery UI Core 中。这意味着不依赖于 mouse 插件但之前包含 jQuery UI Core 的 jQuery UI 插件需要包含更少的未使用代码,平均文件大小改进为 14%。这只是一个平均值。一些改进将高达 36%。
文件重命名
所有 .js 和 .css 文件都已重命名,以 jquery.ui. 为前缀,而不是 ui. 为前缀。这样做是为了与 jQuery 插件命名指南保持一致,并且是在为一些正在开发中的工具做准备,这些工具将允许轻松创建包含 jQuery 插件以及 jQuery UI 插件的自定义构建。
注意:如果您编写自己的 jQuery 插件,即使它基于 jQuery UI Widget 工厂,也请遵循 jQuery 插件命名指南“jquery.{plugin-name}.js”,而不是“jquery.ui.{plugin-name}.js”。这将使您更容易区分哪些 jQuery 插件是官方 jQuery UI 库的一部分,哪些不是。同样适用于 widget 命名空间和 CSS 类命名空间,当然,使用一般的 jQuery UI CSS 框架类时除外。例如,如果您编写了一个名为 foo 的 widget,则该文件应命名为 jquery.foo.js,而不是 jquery.ui.foo.js。widget 可以使用诸如 ui-widget、ui-widget-content、ui-state-active 之类的类(有关完整列表,请参阅主题文档),但不应使用诸如 ui-foo 和其他 ui-foo-* 类名之类的 CSS 类,因为这些类将为 jQuery UI 库中的 foo widget 保留,或者为 jQuery UI Foo widget 保留,该 widget 的文件名将为 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、tibi70、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