通往 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 转换为能够处理困难的大规模拖放操作的高速库。他主要负责创建最近的 dimensions 插件并提出许多改进建议到 jQuery 的 CSS 方法。

Stefan Petre (罗马尼亚)

Stefan 是一位居住在罗马尼亚的开发人员,是 Interface Plugin 的创建者。他与插件的工作是由创建快速、交互式、基于 Web 的应用程序的愿望驱动的。Interface 已被采用为官方赞助的 jQuery 插件(以及其他一些高质量的插件)。Paul 和 Stefan 目前正在一起努力改进 Interface 插件的整体质量(速度和代码质量)。

Mike Alsup (纽约,美国)

Mike 是一位居住在纽约的开发人员,负责维护 jQuery 的官方 form 插件。他已经广泛地致力于将 Ajax 表单提交过程统一到一个插件中。此外,他的许多工作都渗透到改进核心 jQuery Ajax 代码的质量和一致性中。

宣传团队

这是一个全新的 jQuery 团队。该团队的重点是关注 jQuery 社区的脉搏(在家里在大型社区)并在他们力所能及的范围内提供帮助。通常,这意味着构建新的教程、解释困难的问题或将其他团队的需求更新或更改告知他们。

可以将这个团队视为一种开发者关系 – 将 jQuery 用户的需求传达给开发/网络/设计团队,同时竭尽全力将 jQuery 带给尚未发现它的人。

Rey Bango (佛罗里达州,美国)

Rey Bango 是一位居住在南佛罗里达州的顾问,专门从事富互联网应用程序的开发。他已经使用 jQuery 了一段时间,并向许多人宣传其好处。他已经帮助转换了 一些 著名的 Cold Fusion 开发者。他还负责启动和帮助运行 jQuery 按钮竞赛

Karl Swedberg (密歇根州,美国)

Karl 是一位居住在密歇根州的开发人员,他维护网站 Learning jQuery。他撰写了许多教程,并帮助人们更好地理解 jQuery 的工作原理。他是 jQuery 邮件列表的常客,帮助新用户适应使用该库。作为宣传团队的一员,他将继续他的工作,寻找需要帮助理解库的细微之处的人,并为他们提供所需的资源。

Web 团队

Web 团队完全负责创建新的 jQuery 网站。这是一个长期计划的团队,但终于开始实现。这在很大程度上是因为这是一个如此艰巨的项目。

简而言之,许多新功能将在未来几周内推出。整个过程需要一些时间,但结果将非常值得。您首先可以期待的功能是与现有的 邮件列表 关联的适当讨论区域和所有 插件 的适当存储库。

所有这些都将使用 Drupal CMS 构建。最近,我们帮助 Drupal 转换为使用 jQuery 作为其主要的 JavaScript 库(为所有基于 Drupal 的网站提供支持的即将发布的 5.0 版本)。在与 Drupal 开发团队合作时,他们一直非常乐于提供任何可能的帮助,以构建新的网站。除了这种支持的提议外,Drupal 引擎也非常强大,提供了我们为新网站提供几乎所有所需的功能。

除了 Drupal 开发团队之外,以下 Drupal 用户还表示愿意捐赠他们的时间和精力来帮助构建新的 jQuery 网站。

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

Mike是一位居住在科罗拉多州的开发者。他在搭建基于Drupal的网站方面拥有丰富的经验。特别值得一提的是,他已经为另一个开源项目:QCodo,搭建了一个Drupal社区和插件区域。他已经开始工作,搭建了Web团队将要使用的基础区域——并且正在努力将SVN插件仓库直接集成到基于Web的插件仓库中(以便所有想要使用的人都可以统一访问)。他的工作将为Web团队其余开发人员的工作奠定基础。

Tane Piper (英国爱丁堡)

Tane是一位居住在英国的开发者。他精通PHP和Drupal。Tane最近搭建了网站getjQuery.org(使用Drupal)——那时我看到了将他引入进来,帮助将他期望的许多功能添加到官方jQuery网站中的机会(例如讨论区和插件仓库等)。

设计团队

设计团队是jQuery开发过程中的一个最新补充。该团队的目标是实施jQuery网站的完整重新设计,以及所有即将推出的子部分(这与Web团队合作,为他们的工作实施设计)。

这个团队有很多独立的方面(例如图标设计、品牌、图形设计和XHTML/CSS组合),这些方面将通过不同的Web项目联系在一起。

Bradley Sepos (美国俄亥俄州)

Bradley是一位居住在俄亥俄州的独立设计师。他已经开始了一些优秀的工作,创建了一些关于新的jQuery.com设计的绝佳原型。他将致力于完成jQuery主页的可靠设计。他还将负责为网站的其余部分(以及整个jQuery项目)制定可靠的品牌和设计指南。

Skye Giordano (美国密苏里州)

Skye是一位教授,居住在密苏里州,教授Web设计。他已经开始与Bradley合作设计新网站。在接下来的几周里,他将专注于网站的特定部分,从头开始完全设计(例如讨论区或插件区——尚未决定)。

帮助你理解jQuery

发布于 作者

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

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

我们最近开始着手jQuery文档wiki的重新组织。 目前它非常混乱,而且四处散乱。 然而,从新的wiki结构可以看出,我们正在追求对jQuery本身的更全面的描述。 在这些主题的每一个中,我们希望包含许多有用的“常见案例”教程,这将帮助你更好地理解jQuery API中的函数。

所以请:(考虑到你所看到的新的wiki结构)什么可以帮助你更好地学习和使用jQuery?

jQuery 1.0.4

发布于 作者

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

如有任何问题或疑虑,请随时在 jQuery 邮件列表上讨论。如果您认为发现了一个错误,请 添加到错误跟踪器

所以,无需多言,这里是jQuery 1.0.4

下载

更改和特性

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

    示例:使用beforeSend为Ajax请求添加额外的header

    $.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请求添加额外的header。

    $(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模块:动画完成后,大多数内联样式现在都会被删除,例如,动画高度时的height样式(例外:display样式)。