jQuery UI 1.8 添加了位置、按钮、自动完成、新的组件工厂,以及更轻量级的核心
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.8 开发包 包含所有组件和我们的基本主题。它经过优化,适用于 jQuery UI 本身的开发或再分发,不适合入门。
- jQuery UI 1.8 主题包 包含 21 个 ThemeRoller 画廊主题。如果您喜欢其中一个主题但想要进行调整,则每个主题都可以用作主题自定义的起点。
我知道我想要什么
- jQuery UI 1.8 下载构建器 会创建一个自定义的 zip 文件,其中仅包含您选择的组件。它还会处理插件依赖项,因此您可以更轻松地进行操作。
我希望永远拥有它
- jQuery UI 现已在 GitHub 上上线! 🙂 可以随意进行分支。
jQuery UI 1.8 中有哪些新内容?
此版本添加了两个新的实用程序、两个新的组件、一个升级的组件工厂以及一个更模块化的核心。要查看 jQuery UI 1.7.2 和 jQuery UI 1.8 之间所有更改的完整列表,请参阅 1.8 变更日志。请参阅以下内容,了解一些较大且更明显的更改摘要。
位置实用程序
将任何元素相对于任何其他元素定位,甚至相对于窗口或鼠标定位。以真正的“少写代码,多做事情”的方式,只需选择要定位的元素并说明其哪个部分应该相对于另一个元素的哪个部分定位即可。就这样。
按钮组件
按钮组件会从您可能用作原生按钮的任何可想象的元素中创建一个可主题化的按钮。全程使用渐进增强。现在,您的 <button> 会看起来像您的 <input type=”submit”> 会看起来像您的 <a class=”button”>。我们更新了包含按钮的 jQuery UI 组件 (如对话框),以在您选择包含按钮插件时使用该插件。否则,它们将仍然是原生按钮元素。再次感谢 PE,它尽可能地不显眼。感谢 Filament Group 想出了如何执行此操作,感谢 Jörn Zaefferer 使其成为现实。当然,还要感谢整个社区在早期设计/开发和后期开发/测试期间提供的反馈。我们很高兴拥有漂亮的表单元素,而按钮是第一步。
自动完成组件
现在,您可以使任何文本输入弹出菜单,以帮助用户完成文本输入或搜索框,提供建议或允许的值。自动完成的设计和构建基于流行的 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 Hart、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、rbracket、remi、rgluga、ricardolopezrey、Richard Worth、riegens、rnbguru、RobARichard、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
每个人都做得很棒。很高兴看到另一个稳定的版本。
感谢论坛中的所有测试人员!没有你们,我们做不到。
太棒了!我希望这个版本能解决一个特别让人头疼的 bug..
在树状视图中可排序的滚动
看起来不错,干得好。你们能像 jQuery 核心一样切换到 GitHub 吗?我相信你们会得到更多贡献,并且像 jQuery 核心一样,整体开发会得到很大改进。
Pingback: jQuery UI 1.8 发布! | Fuel Your Coding
@jc - 已完成。刚刚更新了帖子,添加了一个链接 🙂
祝贺你们,谢谢!现在该去玩玩了 🙂
Richard 和他的团队做得太棒了。看起来主题 CSS 文件也已经上传到 Google 的 CDN 了。
https://ajax.googleapis.ac.cn/ajax/libs/jqueryui/1.8.0/themes/base/jquery-ui.css
Pingback: DevGrow
Pingback: dalmaer 于 2010 年 3 月 23 日 11:35:29 | Exectweets
Pingback: jQuery UI 1.8 已发布 | Nilambar Sharma
Pingback: Ajaxian » jQuery UI 1.8 带来了新的插件、效果和修复
Pingback: jQuery UI 1.8 带来了新的插件、效果和修复 : RefreshTheNet.com
Pingback: 早间新闻 - Chris Alcock » 早间新闻 #566
Pingback: Web 开发: jQuery UI 1.8 发布 - 更快、更小、更模块化 » t3n News
太棒了!
无法想象没有 jQuery 和 jQuery UI,web 会是什么样子!
非常感谢你们所做的一切伟大的工作。
非常不错…
我在 IE6、7、8 和 9 预览版上测试了按钮
IE6: http://i44.tinypic.com/wcl103.jpg
IE7: http://i40.tinypic.com/14t7iq0.jpg
IE8: http://i44.tinypic.com/2hq83s3.jpg
IE9: http://i41.tinypic.com/2iitvtz.jpg
🙁
@Phil Derksen - 不仅如此,谷歌现在还发布了所有托管文件清单,例如 https://ajax.googleapis.ac.cn/ajax/libs/jqueryui/1.8.0/MANIFEST
@FJ - 是的,我们还在处理这个问题,它没有进入最终版本 http://dev.jqueryui.com/ticket/5254 。请随意将您的屏幕截图附加到该票证,以帮助处理它的人。谢谢。
太棒了!非常稳固,我真的很喜欢自动完成和按钮小部件!
干得好,期待更多使用这个框架。
完美,我正在计划使用这个库。
非常感谢大家付出的努力。
Pingback: jQuery UI 1.8 也有自动完成 | nerdpress.org
自动完成小部件的额外文档会很有帮助,例如,如何覆盖默认的 _renderItem() 方法来在下拉列表中的每个项目中添加图片或其他 HTML。
此外,它似乎不支持任何额外的参数,就像我们一直在使用的另一个 jQuery 自动完成插件一样。我设法通过附加源 URL 来提供一些静态参数,但如果这些参数是动态的会很有帮助。
总的来说,这个页面上的自动完成小部件文档;http://jqueryui.pbworks.com/Autocomplete 比正常 jQuery UI 文档页面提供的文档好得多。
按预期工作(完美),我们已经将几个网站切换到这个新版本。感谢您的辛勤工作!
@Richard D. Worth 我没有登录名发布错误 🙁
@FJ – 我已经添加了它们,不用担心。如果你想开一个账户,http://dev.jqueryui.com/register
太棒了。我已经将两个网站切换到这个版本。
我还有一个网站要切换,但我发现自动完成出现了一些意外的行为:菜单框超级宽。当然,那个错误可能在我的代码里,1.8RC3 工作得很好。
我将我的应用更新到使用 1.8,它运行得很好。你们做得太好了!
Pingback: jQuery 1.8 « AmandaPENTON
恭喜,感谢你们做出的杰出工作。迫不及待地想把这个放到我们的生产环境中,尤其是自动完成功能!
是的,是的,是的!现在该测试新的 UI 了。
工作,好工作!最好的问候!CY
哇,"extraParams" 选项真的从 AutoCompete 插件中删除了吗?我在文档中完全没有看到它……。
这将是一个巨大的打击,因为该选项非常有用
@JQuery
我真的,真的希望文件大小更小。
我只使用 Slider 小部件。
1.7.2 是 94kb
1.8 是 93kb
所以我不确定人们从哪里得到这个文件大小减少了 60%-70%,因为当我使用自定义 UI 生成器下载时,它只为我节省了 1kb 的大小,不到 1%。
我做错什么了吗?
🙁
为了更清楚地说明
我使用 JQuery 的唯一原因是为了 Slider 控件。
对于仅仅使用 Slider 控件来说,文件大小太大了。
我是否在如何获取最小的 JQuery/JQueryUI+Slider 文件大小方面做错了什么?
做得好!
所有
我以为 1.8 的文件大小应该更小。
仅仅是 Slider 小部件,1.8 的文件大小似乎与 1.7.2 几乎完全相同。
@Tim 和 @Sarah H – 提到的文件大小减少是指 jQuery UI Core,正如博客文章中所述,这是通过将小部件和鼠标插件移到它们自己的文件中实现的。我们当前集合中的 Slider 小部件是我们当前集合中依赖于核心、小部件和鼠标的唯一小部件。其他小部件只依赖于核心和小部件,因此它们将看到更多文件大小的差异。
@Stephen – 自动完成已完全重新设计,以具有最少的可以自定义和扩展的功能集,以尽可能多地实现以前的功能。您将在演示中找到示例,并在文档中找到详细信息。
如果您在了解这种重新设计后仍然觉得存在差距,请在开发 jQuery UI 论坛上提出它们 http://forum.jquery.com/developing-jquery-ui 。谢谢。
@Tim – 当只使用 Slider 时,你的 jquery-ui 文件大小怎么可能是 93 kb?
转到下载,单击取消选择所有组件,选择核心、小部件、鼠标和滑块,然后下载,jquery-ui-1.8.custom.min.js 只有 19.4 kb……
Pingback: jQuery: » The Official jQuery Podcast – Episode 17 – jQuery UI 1.8
@Richard D. Worth
有没有可能找到一种方法,让*只*使用 Slider 小部件的文件大小更小。
我和 Tim 和 Sarah 类似,我*只*使用 JQuery,以便可以使用 Slider 控件。
对于只使用 Slider 控件来说,这个单个任务的下载量相当大。
有没有什么想法可以改进 Slider 控件,使其在文件大小方面不那么笨重?
谢谢!
我用 jquery UI 1.7.2 写了大量的拖放界面,但是现在我升级到 jquery UI 1.8 和 jquery 1.4,我的 jquery 脚本不再工作了?!jquery UI 1.8 与 jquery UI 1.7.2 不兼容吗?
非常好,也很简单。我一直在寻找这样的东西
感谢分享
太棒了!现在开始把我的所有东西切换到 jQuery 1.4/UI 1.8
现在该轮到我使用 jQuery UI 了 🙂
干得好,各位!
非常希望看到有关新的 zIndex 实用程序的文档。
Pingback: 官方 jQuery 播客 - 第 17 集 - jQuery UI 1.8 | seo
只是一个建议。我们可以在主题下载中包含 ThemeRoller 页面中使用的 png 主题图片吗?
所以,我认为 jQuery 对话框在决定使用 1.7 还是 1.8 方面不受影响...如果我在 1.7 中实现了 jQuery 对话框,我只需下载并用 1.8 替换核心库,对话框仍然可以正常工作,因为代码库的这部分似乎没有改变,对吧?