通往 1.1 的道路

发布日期: 作者:

快速更新一下,让大家了解最新进展:jQuery 开发团队目前正在开发即将发布的 jQuery 1.1 版本。因此,在接下来的几周内,SVN 将会发生相当大的变化。以下是目前的计划

  • jQuery 1.1a **1 月 7 日** - 一个快速发布的 alpha 版本,帮助大家测试他们的代码,并将代码迁移到即将发布的 1.1 版本。
  • jQuery 1.1 **1 月 14 日** - 这是正式发布版本,与 jQuery 一周年纪念日同时发布。

需要注意的是,**jQuery 1.1 将不向后兼容 1.0 版本**。变化将以不同的方式出现,但目前计划进行以下更改

  • 像 .oneclick() 和 .unclick() 这样的方法将被 .one("click") (新的) 和 .unbind("click") 替代。我们发现这些方法的使用频率不足以保证它们所需的 70 多个 API 条目。
  • 选择器 :nth-child()、:gt()、:lt() 和 :eq() 将从 1 开始计数,而不是 0,与 CSS 规范保持一致。(这是一个错误修复,但会导致 API 意外变化)
  • 一些 CSS 辅助方法将被删除,例如:.color() 和 .background()。您应该开始使用 .css("color") 和 .css("background") 替代它们。
  • 一些属性辅助方法,例如 .title() 和 .rel(),将被删除。您应该开始使用 .attr("title") 和 .attr("rel") 替代它们。

进行这些更改的主要目的是减少 jQuery API 中包含的方法数量。减少 70 多个条目将显著缩小文档的大小,并使其更容易维护和阅读。

如果您对 jQuery 代码库的发展方向感兴趣,请随时订阅 jQuery 开发邮件列表,在那里 jQuery 开发团队将深入讨论这些问题。

**更新:**我忘记提到,将有一个兼容性插件来帮助您过渡到 jQuery 1.1。这样,您就可以继续使用 .oneclick()(以及所有其他方法)在可预见的未来(即使它可能不再包含在 jQuery 核心代码中)。

认识 jQuery 背后的人

发布日期: 作者:

我想借此机会向大家介绍 jQuery 背后的人。对于谁为该项目工作以及他们做了什么贡献,还没有足够的宣传。这一事实,加上最近的重组,为向大家展示 jQuery 背后的运作方式提供了绝佳时机。

jQuery 是一项了不起的工程,有 11 人直接贡献自己的时间来推动 jQuery 的发展(还有无数其他人贡献插件、错误修复和知识)。考虑到他们对项目的贡献价值无法估量,将注意力吸引到所有帮助过该项目的人的工作至关重要。

预计在接下来的一个月(直到 1 月 14 日 - jQuery 的一周年“生日”)中,jQuery 项目将取得许多进展。

现在是参与 jQuery 项目的绝佳时机。找到一个感兴趣的团队,加入他们的邮件列表 - 并参与进来。帮助永远受欢迎。如果您没有时间贡献项目,您可以进行经济捐助,这将帮助维护服务器和您对项目期望的质量水平。

所以,不多说了,我向大家介绍:**jQuery 背后的人**。

开发团队

开发团队维护 jQuery 的核心方面:代码本身;从项目开始就推动项目向前发展。近年来,开发团队一直在缓慢增长,跟上了对功能和错误修复的需求。

开发团队的职责就是:提高 jQuery 代码库的质量(通过添加新功能)并修复现有问题(为所有人创建一个更稳定的库)。此外,该团队负责记录所有jQuery API、构建稳定的测试套件 并维护 jQuery 构建系统(通过该系统构建所有 jQuery 代码、文档和测试)。

John Resig (美国马萨诸塞州)

John 是一位程序员和作家,住在马萨诸塞州波士顿。他负责管理 jQuery 库的方向。这包括对现有(和预期)功能进行批判性评估并做出明智的决策。他还负责管理开发资源和分配在项目不同方面的花费时间。

Jörn Zaefferer (德国贝格纽施塔特)

Jörn 是一位住在德国的程序员。他是 jQuery 开发流程的驱动力,贡献了大量错误修复,并发布了许多 1.0.x 版本。他还负责完全重建jQuery 测试套件 并编写大部分测试用例。在过去几个月里,他一直是 jQuery 开发流程的驱动力,帮助 jQuery 向 1.1 版本发布迈进。

Brandon Aaron (美国德克萨斯州)

Brandon 是一位住在德克萨斯州的开发人员,也是开发团队的新成员。他为 1.0.x 版本贡献了大量错误修复,现在他正在对 jQuery 核心的动画和 CSS/DOM 方面进行严格审查。他希望显著提高代码速度和清晰度。这将使我们能够执行诸如暂停/恢复动画之类的操作。

Paul Bakaus (德国美因茨)

Paul 是一位住在德国的程序员,也是 jQuery 的赞助贡献者。他在 jQuery 中的工作重点是将 jQuery 变成一个高速库,能够处理复杂的、大规模的拖放操作。他主要负责创建最近的尺寸插件,并建议了对 jQuery 的 CSS 方法进行大量改进。他的所有工作都与Interface 插件 相关,旨在创建一个高速拖放解决方案。

Stefan Petre (罗马尼亚)

Stefan 是一位住在罗马尼亚的开发人员,也是Interface 插件 的创建者。他对该插件的工作一直以创建快速、交互式、基于 Web 的应用程序为目标。Interface 被纳入官方赞助的 jQuery 插件(以及其他一些高质量插件)。Paul 和 Stefan 目前正在共同努力改进 Interface 插件的整体质量(无论是在速度还是代码质量方面)。

Mike Alsup (美国纽约)

Mike 是一位住在纽约的开发人员,负责维护 jQuery 的官方表单插件。他做了大量工作,将 Ajax 表单提交过程统一并测试到一个插件中。此外,他的许多工作也反过来提高了 jQuery 核心 Ajax 代码的质量和一致性。

宣传团队

这是一个全新的 jQuery 团队。该团队的重点是关注 jQuery 社区的脉搏(无论是在内部还是在外部),并尽其所能提供帮助。通常,这意味着构建新的教程、解释难题或与其他团队沟通需要更新或更改的内容。

可以将该团队视为一种开发者关系 - 将 jQuery 用户的需求传达给开发/网络/设计团队,同时尽力将 jQuery 推广给尚未发现它的用户。

Rey Bango (美国佛罗里达州)

Rey Bango 是一位住在佛罗里达州南部的顾问,专门从事富互联网应用程序的开发。他现在一直在使用 jQuery,并将它的好处推广给许多人。他已经帮助许多知名 Cold Fusion 开发人员完成转换。他还负责启动并帮助运行jQuery 按钮比赛

Karl Swedberg (美国密歇根州)

Karl 是一位住在密歇根州的开发人员,负责维护Learning jQuery 网站。他撰写了大量教程,帮助人们更好地理解 jQuery 的工作原理。他经常活跃在 jQuery 邮件列表中,帮助新用户适应使用该库。作为宣传团队的成员,他将继续他的工作,寻找需要帮助理解库的细微之处的人,并为他们提供必要的资源来快速上手。

网络团队

网络团队完全负责创建新的 jQuery 网站。这个团队的计划已经筹备很长时间了,但终于开始浮出水面。这在很大程度上是因为这是一个非常艰巨的项目。

简而言之,在接下来的几周内将推出许多新功能。整个过程将花费一些时间,但结果会非常有意义。您可以期待的首批功能包括一个适当的讨论区域(连接到现有的邮件列表)以及所有现有插件 的适当存储库。

所有这些都将使用Drupal CMS 构建。最近,我们帮助 Drupal 转向使用 jQuery 作为他们的主要 JavaScript 库(在即将发布的 5.0 版本中为所有基于 Drupal 的网站提供支持)。在与 Drupal 开发团队合作的过程中,他们非常乐意在他们能力范围内提供帮助,帮助创建新的网站。除了这种支持之外,Drupal 引擎还非常强大,提供了我们为支持新网站所需的大多数功能。

除了 Drupal 开发团队外,以下 Drupal 用户也自愿贡献时间和精力,帮助构建新的 jQuery 网站。

Mike Hostetler (科罗拉多州,美国)

Mike 是一位居住在科罗拉多州的开发者。他拥有丰富的 Drupal 网站搭建经验。他为另一个开源项目 QCodo 建立了 Drupal 社区和插件区域,这尤其引人注目。他已经开始工作,建立了网站团队将要工作的基本区域,并努力将 SVN 插件库直接集成到基于网络的插件库中(以便统一访问所有需要它的人)。他的工作将作为网站团队其他开发工作的基础。

Tane Piper (爱丁堡,英国)

Tane 是一位居住在英国的开发者。他拥有丰富的 PHP 和 Drupal 经验。Tane 最近使用 Drupal 建立了网站 getjQuery.org,当时我就看到了将他引入的机会,帮助他将许多他想要的功能添加到官方 jQuery 网站(例如讨论区和插件库,仅举几例)。

设计团队

设计团队是 jQuery 开发流程中最近加入的另一个团队。该团队的目标是实施 jQuery 网站的完全重新设计,以及所有即将推出的子部分(这与网站团队合作进行,为他们的工作实施设计)。

该团队的许多单独方面(如图标设计、品牌、图形设计和 XHTML/CSS 构成)将通过不同的网络项目联系在一起。

Bradley Sepos (俄亥俄州,美国)

Bradley 是一位居住在俄亥俄州的独立设计师。他已经开始了一些精细的工作,创建了一些出色的新 jQuery.com 设计的模拟。他将负责完成 jQuery 主着陆页的稳固设计。他还将负责制定整个网站(以及 jQuery 项目整体)的稳固品牌和设计指南。

Skye Giordano (密苏里州,美国)

Skye 是一位教授,在密苏里州教授网页设计。他已经与 Bradley 合作设计新网站。在接下来的几周,他将专注于网站的某个特定部分,从头到尾进行完全设计。(例如讨论区或插件区 - 这尚未确定。)

帮助您理解 jQuery

发布于

最近的一些 文章 讨论了 需要为 JavaScript 库提供“非常好的”教程。

我们一直在努力使 jQuery 文档变得更好、更有用,因此我想提出以下问题:哪些教程可以帮助您更好地使用或学习 jQuery?确保它很简单(例如“构建下拉菜单。”),而不是非常复杂(例如“构建完整的购物车系统。”)。欢迎在评论中发布您的建议,这将有助于我们了解人们想要什么以及需要更好地解释什么。

我们最近开始重新组织 jQuery 文档维基。现在它非常混乱,到处都是。如您从 新维基的结构 中看到的那样,我们正在努力更全面地展示 jQuery 本身。在这些主题中的每一个主题中,我们希望包含一些有用的“常见案例”教程,这些教程将帮助您更好地理解 jQuery API 中的函数。

所以请:(考虑到您对 新维基的 结构的了解)什么可以帮助您更好地学习和使用 jQuery?

jQuery 1.0.4

发布于

另一个精彩的 jQuery 版本已经准备好供您使用。此版本包含许多错误修复(像往常一样),以及对 jQuery 的 Ajax 功能的一些急需改进。

与往常一样,如果您对新版本有任何疑问或疑虑,请随时在 jQuery 邮件列表 上进行讨论。如果您认为发现了一个错误,请 将其添加到错误跟踪器 中。

因此,事不宜迟,以下是 jQuery 1.0.4

下载

更改和功能

  • 大量的错误修复 (完整列表)
  • $.ajax() 的扩展:$.ajax 接受其他选项:beforeSend、async 和 processData;返回 XMLHttpRequest 以允许手动中止请求,有关详细信息,请参见文档。

    示例:使用 beforeSend 向 Ajax 请求添加额外的标头

    $.ajax({
      type: "POST",
      url: "/files/add/",
      beforeSend: function(xhr) {
        xhr.setRequestHeader( "Content-type", "text/plain" );
      },
      data: "This is the contents of my text file."
    });

    示例:执行同步 Ajax 请求。

    // Get the HTML of a web page and save it 
    // to a variable (the browser will freeze until the 
    // entire request is completed).
    var html = $.ajax({
      type: "GET",
      url: "test.html",
      async: false
    }).responseText;
    
    // Add the HTML into the page
    $("#list").html( html );

    示例:使用 processData 发送 JavaScript 对象。

    // The data to send to the server
    var params = {
      name: "John",
      city: "Boston"
    };
    
    // Send the data, but have it be converted into
    // a format the server can understand (w/ processData)
    $.ajax({
      type: "POST",
      url: "/user/add/",
      data: params,
      processData: true
    });

    示例:在特定时间延迟后中止 Ajax 请求。

    // Perform a simple Ajax request
    var req = $.ajax({
      type: "GET",
      url: "/user/list/",
      success: function(data) {
        // Do something with the data...
        // Then remove the request.
        req = null;
      }
    });
    
    // Wait for 5 seconds
    setTimeout(function(){
      // If the request is still running, abort it.
      if ( req ) req.abort();
    }, 5000);

  • AJAX 模块:公共 $.ajax API 现在在内部使用(用于 $.get/$.post 等);加载脚本现在在所有浏览器中工作得更加可靠(除了 Safari,它正在进行中)。
  • 新的全局 Ajax 处理程序:ajaxSend - 在发送 Ajax 请求之前调用。

    示例:使用 ajaxSend 事件向所有 Ajax 请求添加额外的标头。

    $(document).ajaxSend(function(xhr){
      xhr.setRequestHeader("X-Web-Request", "MySite.com");
    });

  • 对全局 Ajax 处理程序的扩展:ajaxSend、ajaxSuccess、ajaxError 和 ajaxComplete 获取作为参数传递的 XMLHttpRequest 和设置。

    示例:阻止发送过多数据的任何 POST 请求。

    $(document).ajaxSend(function(xhr,options){
      if ( options.type == "POST" && options.data.length > 1024 )
        xhr.abort();
    });

    示例:为使用 Ajax POST 提交的请求显示特殊消息。

    $("#dataSent").ajaxSend(function(xhr,options){
      if ( options.type == "POST" )
        $(this).show();
    });

  • 对事件处理的扩展:pageX 和 pageY 现在在所有浏览器中都可用。(IE 不提供本机 pageX/Y)。

    示例:让工具提示在页面周围跟随用户的鼠标。

    $(document).mousemove(function(e){
      $("#mousetip").css({
        top: e.pageY + "px",
        left: e.pageX + "px"
      });
    });

  • 改进的文档:$(String) 方法现在有两个单独的描述,一个用于选择元素,一个用于动态创建 html。
  • FX 模块:动画添加的大多数内联样式现在在动画完成后将被删除,例如,在动画高度时的高度样式(例外:显示样式)。