jQuery.com 网站重新设计

发布日期: 作者:

我们刚刚推出了一个全新的网站重新设计(适用于 jQuery.com 及其所有子网站)。这个项目已经酝酿很久了,终于发布出去感觉很棒。

新的主页

jQuery.com

毫无疑问,重新设计中最具争议的部分,但也绝对是最引人注目的。

jQuery 一直以来都受到摇滚乐的影响,甚至可以追溯到它的 最初发布 ,该版本深受一直备受赞誉的 Devo 的启发。我们追求的是一种朗朗上口的、能够将 JavaScript 从它经常身处的冰冷低谷中带出来的设计,让它充满乐趣。

新的网站布局

jQuery Docs

整个网站都采用了新的布局。多层导航功能得到了大幅改进,侧边栏也进行了标准化,因此更容易导航网站的各个部分。

在浏览内部页面时,最好戴上安全帽——字体大小、间距和颜色都需要调整,这些将在未来一周内完成(与 Trac、WordPress、Drupal 和 Mediawiki 同时进行工作很有趣)。

新的 Logo

jQuery Logo

最初的 jQuery Logo 是 Devo 帽子的一种变体——我们采用了这个概念,反转它,并将其变成了我们自己的东西,同时依然保留了 Devo 能量穹顶 的原始轮廓。

感谢

网站和 Logo 设计:Scott Jehl——他为这次重新设计投入了大量精力,从概念到最终实现都参与其中。

摇滚风格插图:来自 nGenWorks 的 Varick Rosete,他也是 Happy Webbies 的成员。

初始 Logo 原型:Bradley Sepos

还要感谢 Media Temple 为我们提供托管服务。在过去的一周里,他们一直帮助我们迁移网站到一些新的服务器上——预计子域的访问速度很快就会有所提高。

jQuery UI 1.5.2

发布日期: 作者:

大约四天前,许多人注意到我们在 Google Code 账户上上传了另一个小的 bug 修复版本。虽然这次没有引入新的 API,但已解决 30 多个问题,代码库每天都在变得更加稳定。

如果您想了解是否已解决特定问题,可以在 此处 查看完整的变更日志。与 1.5.1 一样,强烈建议更新到此版本,并且很可能不会破坏您编写的代码中的任何内容。

您可以像往常一样通过下载器或开发者包从 http://ui.jquery.com/download 获取最新版本,或者如果您愿意,也可以从 Subversion 中获取最新标签。

最后要说明的是,这可能是 1.6 发布前的最后一个次要版本,我们将在 7 月底之前宣布 1.6 的发布,所以请期待很快发布一些很棒的新组件和增强功能!

祝您有美好的一天!

Paul Bakaus 和 jQuery UI 团队

jQuery UI 1.5.1

发布日期: 作者:

在 jQuery UI 1.5 发布后不久,我们收到了许多有用的反馈,并收到了一些在我们的 bug 跟踪器中输入的问题。今天,我们很高兴发布另一个版本的 jQuery UI,它解决了许多轻微的回归问题以及许多未解决的问题。

1.5.1 没有添加任何新功能或 API 更改,但修复了 50 多个已发现的问题。如果想要了解具体内容,可以查看 完整的变更日志 。强烈建议更新到此版本,并且很可能不会破坏您编写的代码中的任何内容。

此外,还报告并修复了 ThemeRoller 和我们主页上演示中出现的问题。我们现在将继续完成所有单元测试和功能演示,因此请期待很快再次发布 UI 及其网站的另一个版本。

您可以像往常一样通过下载器或开发者包从 http://ui.jquery.com/download 获取最新版本,或者如果您愿意,也可以从 Subversion 中获取最新标签。

很快再见!

Paul Bakaus 和 jQuery UI 团队

jQuery 1.2.6:事件速度提升 100%

发布日期: 作者:

jQuery 1.2.6 主要是针对 jQuery 1.2 的 bug 修复版本。您可以在 bug 跟踪器 上查看已修复内容的完整列表。

这是紧随 jQuery 1.2.3 发布的下一个版本。版本 1.2.4 和 1.2.5 被跳过(1.2.4 构建错误,使其实际上与 1.2.3 相同,而 1.2.5 缺少一个补丁)。

整个 jQuery 团队都做出了巨大的努力,才得以共同完成此版本的发布——我要借此机会感谢他们所有人的持续辛勤工作。

我还想借此机会欢迎 Ariel Flesler 加入 jQuery 核心开发团队。他在此版本的发布过程中提供了宝贵的帮助——贡献了 bug 修复、性能改进、功能和测试用例。您可以看到他的辛勤工作成果遍布整个版本。欢迎 Ariel,感谢他为我们做出的所有贡献!

下载

jQuery 1.2.6

如果您希望从 Subversion 代码库 中签出完整版本,您可以 按照说明 从以下位置签出源代码

svn co http://jqueryjs.googlecode.com/svn/tags/1.2.6

性能改进

jQuery 团队再次努力,在这个版本中带来了巨大的性能改进。与之前的版本一样,我们已经扩展了范围,查看 jQuery 框架的许多领域,寻找常见的痛点,并提供解决方案。

以下性能改进的所有数据和测试用例都可以在以下 jQuery 1.2.3 与 1.2.6 的 Google 表格 中找到(为了避免与 Internet Explorer 7 的结果几乎完全相同,排除了 Internet Explorer 6 的结果)。

事件处理速度提升 103%

在分析密集型应用程序代码(特别是拖放等操作)时,我们寻找能够影响所有用户的通用更改方式。频繁调用的代码之一是 jQuery 事件处理程序,对其进行优化将极大地提高所有由此产生的频繁调用的事件的性能。通过专注于此处的改进,您拥有的所有频繁调用的事件都应该立即看到好处。

CSS 选择器速度提升 13%

对 jQuery 内部方法进行了一系列优化,极大地提高了它们的性能,同时也为 jQuery 中一些最常用的代码(例如 CSS 选择器代码)带来了显著的收益。

例如,jQuery.map() 方法现在快了 866%,而 jQuery.extend() 快了 19%。这两个更改使整个库的性能得到了显著提高。

.offset() 速度提升 21%

与对 jQuery 事件处理代码的改进相结合,.offset() 的优化使基于鼠标的密集操作变得更快。例如,由于这些更改,jQuery UI 的拖放代码现在快了 300% 以上(使您能够实现更快、更流畅的拖放操作)。

.css() 速度提升 25%

一种经常被调用(在内部和外部)的方法。对该方法的优化很容易在其他方法(例如 .offset())中感受到。

新功能和主要更改

尺寸插件现已成为核心的一部分

Brandon Aaron 创建的尺寸插件的剩余方法已引入 jQuery 核心,并附带了额外的 bug 修复和性能改进。该插件在开发人员和插件作者中得到了广泛的使用,并已成为 jQuery 生态系统的重要组成部分。在过去几个版本中,我们一直在逐渐引入尺寸插件中最常用的方法——但在 1.2.6 发布时,所有剩余的方法都已成为核心的一部分。

如果您要将 jQuery 升级到 1.2.6 版本,现在可以选择从代码中排除尺寸插件。

您可以在 jQuery 文档网站上 找到尺寸插件的完整文档(并且正在将其集成到 jQuery 核心文档中)。

.attr() 大修

.attr() 方法已完全重新设计(解决了大约 15 个未解决的 bug)。此外,该方法已得到显著简化和优化。

.toggle() 现在可以接受更多函数

从历史上看,jQuery 的 .toggle() 函数接受两个函数(以偶数/奇数方式切换)。但是,现在已经更改,以便可以提供任意数量的函数,并通过鼠标点击进行切换。

$("div").toggle(function(){
  $(this).removeClass("three").addClass("one");
}, function(){
  $(this).removeClass("one").addClass("two");
}, function(){
  $(this).removeClass("two").addClass("three");
});

您现在可以取消绑定已绑定的 .toggle() 和 .one() 函数

function test(){ $(this).addClass("test"); }
$("div").one("click", test);
$("div").unbind("click", test);

$("div").toggle(test, test);
$("div").unbind("click", test);

.index() 支持 jQuery 集合

jQuery 的 .index() 函数允许您在 jQuery 集合中找到 DOM 元素的位置——现在您还可以指定一个 jQuery 集合(该集合的第一个元素将被提取并定位在原始集中)。

var test = $("div.test");
$("div").index( test ) == 3

jQuery.makeArray 可以将任何内容转换为数组。

jQuery 的内部 .makeArray() 方法现在将任何类似数组的对象转换为新的数组。此外,它还将所有其他对象包装成数组,并返回结果集。

jQuery.makeArray( document.getElementsByTagName("div") )
// => [ div, div, div ]

jQuery.makeArray( true )
// => [ true ]

jQuery.makeArray()
// => []

beforeSend 可以取消 Ajax 调用

beforeSend Ajax 回调函数允许开发人员在请求发生之前执行一段代码——现在这段代码还可以验证某些参数的完整性,并取消由此产生的 Ajax 请求(对于表单验证等任务非常有用)。

$.ajax({
  beforeSend: function(){
    return $("#input").val() == "";
  },
  url: "test.php"
});

公开的速度

jQuery 有许多命名的动画速度(例如“慢”、“快”和“默认”),您现在可以通过操作 jQuery.fx.speeds 对象来提供您自己的动画速度名称或修改现有名称。

jQuery.fx.speeds.slow = 1000;
$("#test").slideDown("slow");

jQuery UI 1.5 发布候选版,我们很激动!

发布日期: 作者:

jQuery 1.5 发布候选版现已在 http://ui.jquery.com/download 上提供,供大家测试和下载!

这是迄今为止最稳定的 UI 版本,它修复了所有已知的不是“次要”或“琐碎”类别的错误,这意味着我们自己认为它可以正常运行。但是,我们仍然推迟最终发布的原因是我们希望您尝试我们发布候选版的各个方面。

因此,jQuery UI 团队鼓励您尝试网站上的演示,在任何支持的浏览器中尝试,体验所有可找到的选项,并使用我们现在正在最终完善的新的单元测试在不同的浏览器中进行测试。如果您从网站上获取完整的开发包,它将包含滑块、拖动和调整大小的单元测试。我们正在进行其他自动化测试,这些测试将在接下来的几天内从我们的 SVN 下载。

如果您发现任何奇怪的事情,或者某些东西无法正常工作或看起来不像预期那样,这很好 :-)!然后请通过新的 jQuery UI 错误跟踪器 http://ui.jquery.com/bugs/newticket 向我们提交您的问题。这将极大地帮助我们使最终版本尽可能地稳定。

现在我们真的不希望您等待超过必要的时间:我很激动地宣布 jQuery UI 1.5 将于 6 天后的 6 月 8 日发布并宣布,届时将提供更新的文档和史诗般的变更日志,以说服您的老板和同事。

很快就会见到您!

jQuery UI 团队

jQuery UI 1.5b4,包含效果和新主页

发布日期: 作者:

jQuery UI 1.5b4

注意:我们原本打算在几个小时前发布 1.5b3,但我们遇到了两个严重的问题,迫使我们放弃它并发布 b4。对于由此带来的任何不便,我们深感抱歉。

第三个也是最后一个 beta 版本终于发布到 jQuery UI 1.5。为了这次发布,我们投入了数百小时,修复了超过 50 个错误,重点是稳定性。jQuery UI 1.5b4 是推出发布候选版前的最后一个版本,由于只有 5 个主要错误,您预计在接下来的几天内会看到下一个版本!

虽然它主要是一个稳定性版本,但我们也引入了许多新的 API 辅助程序移除了尺寸依赖项,并且通过在核心引入通用的部件工厂使所有插件变得更小。更棒的是,UI 组件触发事件(例如拖动中的“mousemove”)的性能随着 jQuery 核心最近的更改而显着提高。

随着发布候选版紧随其后,我们还将推出一个实时测试套件,供大家在任何平台上使用,帮助我们找出问题并为最终版本修复它们。是的,这意味着您可以在本月内期待一个稳定、可靠且性能优化的 1.5 版本!

获取完整包(此包也包含您需要的自定义构建的 jQuery)

jquery.ui-1.5b4.zip

jQuery Enchant 成为 jQuery UI 的一部分

经过数周的讨论,我很高兴地宣布,未发布的 jQuery 效果套件“Enchant”,之前作为 jQuery UI 的姊妹库推出,现在是jQuery UI 的一部分。随着 1.5b4 版本的发布,您将在项目的文件夹中看到一堆新文件!

jQuery UI 效果可以独立使用,也可以与 UI 一起使用,并且有一个独立的核心,它扩展了 jQuery 核心以引入缓动、类转换(变形)颜色动画。所有后续效果都紧密集成到主要 API 中,并且可以独立使用($(..).effect())或直接从您已经熟悉的 jQuery 方法中使用(hide()/show())。

目前没有关于丰富的效果 API 的文档,但我们会确保在 jQuery UI 1.5 最终版本发布之前发布它。在此期间,请随时开始深入研究代码,并关注更多关于新效果的博客文章!

总的来说,我们有超过 15 个现成的效果可供您在项目中使用,不仅包括您从 script.aculo.us 中熟知的所有内容blind、bounce、drop、fold、slide …),还包括一些新的效果(transfer、explode、clip、scale)供您享受!

jQuery UI 有了一个新家

UI Website

我很高兴地宣布 jQuery UI 最终在 http://ui.jquery.com 上找到了一个新家,以及全新的内容新的组合标识和全新的设计。经过数周的迭代,我们终于找到了时间集中精力关注网站。

新网站提供了一个全新的 下载构建器,其中已经包含效果,一个 真实世界的演示轮播,以及一个 功能演示套件,让您可以轻松地查看和尝试 UI 示例及其语法。接下来的几周还计划推出一个主题部分,其中将介绍下载 UI 主题以及如何创建主题的指南,以及一个教程部分,其中将提供一些简单的教程,让您轻松学习如何控制 UI 部件。

对 Liferay 的艺术总监 Brian Miller 表示衷心的感谢,他出色地完成了工作,并投入了无数个小时来实现这个漂亮的设计!

很快就会见到您!

Paul Bakaus 和 jQuery UI 团队

全球 jQuery 冲刺取得巨大成功

发布日期: 作者:

全球 jQuery 冲刺(请参阅之前的文章)已经结束,这对我们中的许多人来说是一次美好的动力和体验。

我们在冲刺期间充分利用了 冲刺维基页面,它现在作为我们所取得成就的参考,包括会议摘要和 IRC 日志。

我们离 jQuery UI 1.5 更近了一步,并且有 20 多人积极参与,在 4 个不同的组中工作。

开发组

开发组 专注于 jQuery UI 的代码库。他们修复了错误跟踪器中的 20 多个问题,并实现了缺失的功能,例如 Droppables 中的贪婪选项。此外,我们以非常积极的方式改进了 UI 的核心:我们去除了两个依赖项(jquery.dimensions.js 和 ui.mouse.js)并添加了一个(ui.base.js)。影响如此之大,甚至核心也发生了变化:jQuery 本身现在包含了 Dimensions 插件中的有用方法(有关详细信息,请参阅即将发布的博客文章)。

测试组

测试组 专注于为每个 UI 插件编写和运行一整套单元测试。这是至关重要的,以确保每个插件的所有功能都在所有 受支持的浏览器 中得到彻底测试。冲刺后的单元测试覆盖率约为 60%。我们的目标是在 1.5 最终版本发布之前将其提高到 90% 以上。

演示组

演示组 创建了一个出色的功能演示模板,以及我们许多插件的功能演示。此外,许多志愿者还致力于制作令人惊叹的真实世界示例,展示如何在真实世界场景中使用特定插件。所有演示都将流入我们即将发布的网站上的新演示类别。

文档组

文档组 有幸仔细查看了每个 UI 插件的 文档,并将其与源代码、单元测试和演示页面进行比较。他们编写和更新文档,以确保其准确性和清晰度,即使是 jQuery UI 的新手也能理解。

感谢您

所以,总的来说,我们还没有完全实现所有目标,我们仍然需要努力修复所有仍在开放的问题。但我们取得了巨大的进步,如果没有所有帮助过我们的人的共同努力,这些进步是不可能实现的。不仅如此,冲刺也是一个很好的方式来介绍和激励新人加入 UI 项目。

感谢 所有在冲刺期间和冲刺之前提供帮助的人,尤其是 Richard Worth,他最初提出了这个想法,并使这场活动成为可能(他完成了所有艰苦的工作 ;-) ),Eduardo Lundgren,他管理着演示组,并在冲刺期间不知疲倦地工作了很长时间,以及所有在两天内都做出巨大贡献的人。

但直到完成才算完成:在我们准备推出 UI 1.5 的最终版本之前,我们仍然需要处理错误跟踪器中打开的 46 个问题。因此,我们已经在考虑后续冲刺。有关详细信息,请随时关注此处!

很快就会见到您!

Paul Bakaus 和 jQuery 团队

全球 jQuery UI 冲刺:3 月 14-15 日

发布日期: 作者:

jQuery UI 团队很高兴地宣布其首次 全球冲刺,将于 2008 年 3 月 14 日星期五和 15 日星期六举行。两天的时间里,我们将进行测试、修复、文档编写,以及完成各种任务。我们的目标是完成 jQuery UI 1.5 版本(alphabeta),并准备最终发布,我们邀请所有人来帮助我们。无论您是否有时间,一个小时,还是一个下午,请加入我们,一起快速奔跑。

它将如何运作?

我们将在为期两天的冲刺过程中,在 IRC(#jquery-sprint,在 freenode 上)中聚会,并进行一些预定的会议,以确保每个人都在同一页面上,并确保工作顺利进行。除此之外,我们将尽我们所能,尽可能快地完成工作。打开工单、关闭工单、破坏东西、修复其他东西,以及大家最喜欢的消遣:文档编写

我在这里是新手。我能帮忙吗?

当然可以。如果您之前有想过要为 jQuery 或 jQuery UI 做贡献,但一直没有找到合适的时机或动力,那么这次冲刺就是您参与的最佳时机。Paul 和我会在那里,jQuery 团队的其他成员也会在那里帮助大家入门,特别是如果您是第一次参与。我们会帮助您帮助我们,无论您想以什么方式帮助我们。这可以是测试、文档编写、工单分类、错误修复、编写演示,甚至只是在我们将新东西开发出来后玩玩,并提供宝贵的反馈。我们希望确保这个版本在所有 受支持的浏览器(包括您的浏览器)上都非常稳定。

更多详细信息

我们创建了一个 维基页面 来帮助协调这次大型活动。它包含了一些关于计划内容、如何参与的更多细节,并将贯穿整个冲刺过程更新,以显示状态和下一步行动。如果您有兴趣,即使您只有几个小时(或不确定您能投入多少时间),我们也邀请您在页面上添加您的姓名作为参与者。此外,请随意指定您愿意和/或能够做的事情。谢谢!

jQuery UI 1.5b:全新 API,更多功能,性能大幅提升

发布时间: 作者:

大家好:

jQuery 团队很自豪地发布了即将推出的新版 UI 的第一个 Beta 版本,jQuery UI 1.5!发布这个版本经历了漫长的过程——最初打算作为 bug 修复版本,它发展成为我们无法称之为 1.0.1 的东西,甚至不是 1.1,不,它太美味了,我们不得不称它为 1.5。

jQuery UI 1.5 对库进行了全面改造——许多组件从头开始重新编写,以提高整体稳定性和性能,我们终于成功地为所有组件确定了一个统一的 API。所以让我们直接进入所有更改的列表。

统一 API

所有 UI 组件的 API 都已更新。如果您熟悉其中一个组件,现在使用其他插件应该非常容易。每个插件只有一个 **公开方法**——所有其他方法都通过将字符串传递到公开方法中进行调用,插件的初始化通过将选项哈希作为第一个参数传递进行工作。如果您需要,您现在可以 **在以后更改和获取所有选项**,方法是使用新的 data 方法。可拖动对象的示例:


$(..).draggable({...}); // 初始化可拖动对象
$(..).draggable("disable"); // 禁用可拖动对象
$(..).data("cursor.draggable", "move") // 在拖动期间将光标更改为 'move'

更新和修订的文档

jQuery Wiki 中的 文档 已完全更新以反映最新更改。我们还确保这次对所有回调及其参数都进行了文档化。

拖放:捕捉、相对拖动

可拖动对象和可放置对象已完全重构。它现在可能是 **最不具破坏性** 的拖放实现:除了 'static',css 位置的值不会更改:这意味着 static 或 relative 的元素 **不会强制变为绝对定位**,这经常会破坏布局,尤其是在处理浮动元素时。

一些选项已重命名以更好地识别:preventionTimeout 变为 delaypreventionDistance 变为 distance

此外,还添加了一个新的选项插件:捕捉插件。还记得 Winamp 窗口的停靠功能吗?现在您可以使用 UI 可拖动对象来实现——只需将“snap”设置为一个选择器以选择所有您要捕捉到的元素,您就可以开始了。当然,您还可以使用 snapTolerance 和 snapMode 根据您的需要对其进行配置。

滑块:范围、多个滑块和可访问性

滑块没有进行重构,而是从头开始重新编写。虽然它仍然几乎向后兼容,但它现在非常稳定并且比以往更简单:moveTo 方法现在只接受两个参数:您想要将滑块移动到的值,以及您想要移动的滑块的索引(可选)。想要检索特定滑块的值?没问题,只需调用 $(..).slider(“value”, index) 即可。

更棒的是,滑块现在 **完全支持键盘访问**:您现在可以 **单独使用 Tab 键并聚焦每个滑块**,并使用 **左右键** 移动其位置。我们还改进了对使用鼠标的支持:现在,无论您有几个滑块,单击空区域都会将聚焦的滑块移动到单击的位置。

对于那些寻找高级用法的人来说,滑块现在 **支持范围**:只需将选项“range”设置为 true 并确保您有两个滑块,脚本将在这两个滑块之间创建一个可见的范围,该范围可以单独设置样式。脚本甚至可以确保您无法创建负范围。

可排序列表:连接的可排序列表、序列化等等

可排序列表也进行了重写,现在支持您在可拖动对象中已知的多种功能:光标、zIndex、revert、opacity、axis、handles、containmentscrolling。除此之外,您现在可以 **将项目序列化为 URL 哈希**,而且您现在拥有经常被要求的 **将多个可排序列表连接起来** 的功能,这样您就可以将一个节点从一个可排序列表拖动到另一个可排序列表。

还有更多!

这只是我个人参与的插件的摘录——最终版本将附带官方变更日志——但大多数其他插件也已重构,并包含大量日期选择器、选项卡、手风琴、可调整大小的组件等的新功能。

……和更少!

为了准备我们的姊妹库 Enchant,我们移除了放大镜和阴影插件,并将它们移到了 Enchant。不用担心,您可以在我们的 SVN 主干中找到它们,位于 trunk/fx 下。此外,由于 API 和路线图不兼容,表格排序器组件已被删除。很快将有一个网格组件,其中包含其大部分功能。

……以及无数 bug 修复

我们可以让事情变得容易,只需重写所有内容并删除 1.0 的所有 bug 票,因为我们不可能再追踪它们,但我们没有这样做:针对 1.0 版本的所有问题都已得到解决并解决。

有关此版本中所有更改的内容,请参阅 文档 或在代码中查找。请记住,这是一个 Beta 版本——预计会存在 bug 和不稳定问题(但比 1.0 好 :P)。此外,如果您向我们的 bug 追踪器 报告任何问题,您将为我们提供很大的帮助。

现在请从这里下载:http://ui.jquery.com 或直接从我们的 Google 代码页面下载:jquery.ui-1.5b.zip。对于此版本,我们禁用了下载器——因此请下载 zip 包并包含您需要的部分。您可以在文档中阅读有关依赖项的信息。

感谢所有为这个版本做出贡献的人——我将在最终版本说明中单独感谢你们每个人,我太懒了,不想做两次:)

大约两周后再见!

jQuery 1.2.3:AIR、命名空间和 UI Alpha

发布时间: 作者:

我们很高兴地宣布发布 jQuery 的全新版本。这主要是针对 jQuery 1.2 的 bug 修复版本。您可以在 bug 追踪器 上查看已修复内容的完整列表。

下载

jQuery 1.2.3

如果您希望从 Subversion 代码库 中签出完整版本,您可以 按照说明 从以下位置签出源代码

svn co http://jqueryjs.googlecode.com/svn/tags/1.2.3

重要更改

此版本的主要目的是修复 jQuery 1.2.2 版本中的一些突出 bug。具体来说,此版本现在与 Adobe AIR 兼容,将包含在 Drupal 6 中,并将成为 jQuery UI 1.5 的基础。此外,此版本还包含一些针对插件开发人员的次要功能。

.data() 和 .removeData()

这些方法补充了在 jQuery 1.2 中引入的,已包含的 jQuery.datajQuery.removeData 方法。但是,重要的更改是,它们已针对插件开发人员进行调整。您现在可以对数据添加进行命名空间——就像您可以对 事件绑定/解除绑定 进行命名空间一样。例如

  $("div").data("test", "original");
  $("div").data("test.plugin", "new data");
  alert( $("div").data("test") == "original" ); // true
  alert( $("div").data("test.plugin") == "new data" ); // true

此外,获取或设置数据值可以被插件覆盖。例如,以下代码来自最近更新的 jQuery UI 中的可拖动对象

  $(element).bind("setData.draggable", function(event, key, value){
     self.options[key] = value;
  }).bind("getData.draggable", function(event, key){
     return self.options[key];
  });

上面代码使所有尝试获取和设置可拖动对象命名空间数据的操作都被插件直接拦截和处理(而不是直接绑定到元素)。结果是一个功能强大的新接口,用于处理插件内部的内部化数据。

.unbind(“.namespace”)

在 jQuery 1.2 中,您可以添加和删除 命名空间事件,但是您始终必须包含要使用的事件类型的名称。通过添加此功能,您现在可以删除与特定命名空间匹配的所有绑定事件,例如

  $("div").bind("click.plugin", function(){});
  $("div").bind("mouseover.plugin", function(){});
  $("div").unbind(".plugin"); // All handlers removed

上面代码删除了“plugin”命名空间中所有绑定的事件处理程序。

.trigger(“click!”)

最后,添加了一个新功能,允许将 命名空间事件 从触发中排除。例如

  $("div").bind("click", function(){ alert("hello"); });
  $("div").bind("click.plugin", function(){ alert("goodbye"); });
  $("div").trigger("click!"); // alert("hello") only

上面代码只触发了非命名空间的事件处理程序。

Alpha 版本:jQuery UI 1.5 和 jQuery Enchant 1.0

最后但同样重要的是,我们很高兴地宣布发布 jQuery UI 的新 Alpha 版本。这是对现有代码库的全面改造,包含大量的 bug 修复和 API 调整。我们需要大量的帮助来测试这个 Alpha 版本,以确保它在即将到来的候选版本中能够非常稳定。请 参与讨论,帮助我们做好准备。

此外,我们正在开发一个名为 jQuery Enchant 的新插件,它将为库带来大量的 高级效果(如 剪切摇动爆炸——仅举 几个)。这也是该插件的 Alpha 版本——因此,请帮助我们对其进行测试,并确保它完全达到了 jQuery 的质量水平。

下载

演示

尽情享受!