jQuery 1.7 RC1 发布

发布于 作者

团队正在接近 jQuery 1.7 的发布,今天我们发布了一个候选版本。完整的修复和功能列表如下。我们敦促大家开始在应用程序中测试此代码,以便在最终发布之前确保没有重大问题。

测试再简单不过了,您可以从 jQuery CDN 获取代码

请帮助我们,将这段代码放入您现有的应用程序中。如果您发现任何问题,请说出来。 提交错误报告 并说明您正在使用 jQuery 1.7 RC1 进行测试。如果存在问题,我们希望修复它。

与此同时,我们正在努力完善文档和发行说明,以确保您顺利过渡到 1.7。敬请期待!

jQuery 1.7 RC 1 变更日志

1.7 RC 1 版本的当前变更日志。

Ajax

  • #9399:弃用 jqXHR.success 和 jqXHR.error

属性

  • #5479:removeAttr:移除多个属性
  • #6743:将 enctype 映射到编码,具体取决于浏览器
  • #10176:注入的 script 标签被评估两次
  • #10278:checkboxEl.attr(‘checked’) 在 checkboxEl.click() 之后返回陈旧的值
  • #10429:IE7 – 调用 removeAttr(‘contenteditable’) 时出现无效过程调用或参数
  • #10514:removeAttr 在 IE6/7 中无法移除 class 属性

核心

  • #6485:IE 中的 HTML5 解决方案
  • #7102:将 jQuery 注册为 CommonjS 异步模块
  • #9453:$.inArray 不支持 fromIndex
  • #10478:将 jQuery.isNaN 切换到 jQuery.isNumeric

Css

  • #10267:IE8 和 window.is(‘:visible’) 崩溃

数据

  • #7323:允许使用 $.fn.removeData 一次移除多个数据键
  • #8909:$(element).data() 会扫描比需要的更多的属性。
  • #8921:jQuery 私有数据应保持私有

Deferred

  • #8856:请求:deferred.isUnresolved()
  • #9033:try{ } finally{ } 在 IE8 中出现错误
  • #9398:改进 Deferreds 的建议

Dimensions

  • #9434:.outerWidth()/.outerHeight()/.innerWidth()/.innerHeight() 应适用于 window 和 document

Effects

  • #5684:效果:动画回调中的异常导致无限循环
  • #6150:.stop 有时无法清除 .delay
  • #6641:在动画完成回调中调用 stop() 会导致其他动画冻结
  • #8685:动画应跟踪动画状态,以便正确处理堆叠动画
  • #9280:允许为 animate() 使用多个效果队列
  • #9548:animate 不适用于 svg 元素的 fill-opacity css 属性
  • #10416:defaultDisplay 在 FF 中返回 tr 的 block 而不是 table-row
  • #10445:将 queue 设置为 true 会导致错误
  • #10497:.stop 应允许选择要停止的队列

事件

  • #3368:event.metaKey 应仅在非 Mac 上分配给 event.ctrlKey
  • #6170:jQuery(window).scroll(); 会导致 IE* 滚动到 0,0
  • #6319:在 IE 中,change 处理程序内的 stopPropagation 会错误地应用于 keydown 事件
  • #6386:支持通过“event.special.live.add”获取 live 事件的数据参数
  • #6593:IE8:通过 jQuery 附加的 DOM 0 事件处理程序在单独的处理程序时会被调用两次
  • #6667:在某些条件下,submit 事件在 IE* 中无法委托
  • #6903:特殊事件需要一种方法来确定它们是使用 .bind 还是 .live/.delegate 绑定的
  • #6942:JQuery.event.fix 会导致在处理关键事件时出现不必要的重绘
  • #7139:“hover”事件别名应适用于 .bind 以及 .live
  • #7161:表单元素上的提交事件在 IE 中未正确解绑
  • #7444:使用“Enter”而不是按钮单击提交表单时,IE8 或 IE7 会触发 live 提交事件两次。
  • #8157:聚焦一个已经聚焦的文本字段会阻止 change 事件在 IE 中触发
  • #8728:当离开的元素被移除时,mouseenter 事件不会触发
  • #8789:Meta:事件属性挂钩
  • #8858:特殊事件 – _default 方法无法访问 trigger 方法的数据参数
  • #8866:IE8 input[type=file] 委托的 change 事件文件仅在 blur 时触发
  • #8982:bind(“unload someOther”) => 在卸载时,处理程序不会只执行一次。
  • #9069:当鼠标悬停在元素的子元素上时,使用 live 或 delegate 会触发 mouseleave
  • #9279:delegate() bind 无法正确处理所选元素的 mouseover/mouseout 和 mouseenter/mouseout
  • #9393:统一和简化事件系统
  • #9593:在 IE 中,委托的 submit 事件不是 jQuery.Event 的实例
  • #9724:当 window.parentNode 是 DOM 元素时,trigger 函数中出现无限循环
  • #9901:使用 .delegate 时 event.handleObj.namespace 不正确
  • #9933:jQuery.fn.toggle() 应将状态存储在私有数据对象中
  • #9951:在处理程序中修改 DOM 时,.trigger() 的顺序错误
  • #10375:不要在 jQuery.event.props 中包含 `type`
  • #10438:重命名 jQuery.event.propHooks => .fixHooks
  • #10468:移除已弃用的 jQuery.event.guid 和 jQuery.event.proxy
  • #10489:断开连接的元素在 .trigger() 上冒泡到 window
  • #10531:考虑从 $.event.props 中移除 layerX 和 layerY
  • #10563:jQuery.Event 不再包含事件委托中匹配选择器的元素。

操作

  • #6782:小心允许更多字符串使用 innerHTML
  • #7037:克隆元素时添加了重复的 mouseover 和 mouseout 事件。
  • #10501:HTML5 元素“innerShiv”在 html()/append() 中不一致

其他

  • #10553:进一步减少最小许可标头

选择器

  • #3144:.text() 方法的结果在不同浏览器中不一致
  • #5637:布尔值(和空)属性选择器失败
  • #6863:更快 getText
  • #7128:由于使用 DOM 属性,属性选择器在 qSA 和 Sizzle 之间不一致
  • #8539:在没有 querySelectorAll 的浏览器中,Sizzle 缓存冲突
  • #9261:Has Attribute 在 filter/children/siblings 中不起作用
  • #9570:选择器 $(‘form[name=”..”]’) 在某些条件下在 IE8 中返回零个元素
  • #10178:$(window).is(“a”) >> 未捕获的 TypeError:无法对未定义的调用方法 ‘toLowerCase’
  • #10315:Sizzle 在使用位置选择器时忽略 seed 参数
  • #10562:siblings 方法在使用 Sizzle 调用伪选择器时返回意外元素

支持

  • #5145:jQuery.support.opacity = false 在 Chrome 浏览器中
  • #6809:添加 jQuery.support.fixedPosition
  • #10558:测试支持错误

Traversing

  • #10449:函数 $(“#id”).closest(“.class”) 如果它具有 .class,则返回元素 $(“#id”) 本身

宣布 jQuery 标准团队

发布于 作者

今天我们很高兴地宣布成立一个新的 jQuery 子团队,名为 jQuery 标准团队,旨在让 Web 开发者在标准制定过程中发声。

介绍

我们都知道 Web 标准很重要。它们有助于确保我们编写的代码在不同的技术、不同能力的人以及最重要的是所有浏览器上都能正常工作。

但是,我们有多少人觉得自己的声音、建议和想法被那些负责定义这些标准的人听到?现实是,尽管我们中的许多人希望看到改变,但由于时间限制和冗长的正式流程,我们无法参与标准讨论、参与编写规范以及为功能的未来贡献想法。这使得 Web 开发者难以发声。



Yehuda Katz 是团队负责人。Paul Irish 加入了他。

另一个问题是,对于那些参与该过程的人来说,它常常感觉参与特定标准邮件列表中的某个线程影响有限,因为 Web 社区过于分散。浏览器供应商在这些列表中非常活跃,并且几乎所有线程都假定具有大量的机构知识。那些列表上的实施者有自己的场所来讨论共同关心的问题,但希望参与的 Web 开发者没有,除了在会议上偶然相遇之外。

jQuery 项目希望帮助改变这一现状——我们希望您能参与到塑造未来网络发展的过程中。

jQuery 标准团队

jQuery 标准团队有三个主要目标

  • 代表 Web 开发社区,特别是 jQuery 用户,向 W3C 和 TC39 等标准组织提交意见,旨在改进现有标准和正在制定的标准,以更好地满足 Web 开发者的需求。
  • 代表 Web 开发社区,尤其是 jQuery 用户,向浏览器厂商提交意见,帮助他们确定应该优先实现的标准,以及可以构建的概念验证。
  • 帮助 jQuery 项目适当地采用新的标准和浏览器功能。

这标志着 Web 开发社区提交反馈和影响标准组织和规范的方式发生了重大变化。通过降低提交建议和问题并使其被听到的门槛,我们希望鼓励更多对参与标准组织和浏览器厂商感兴趣的开发者参与到这个过程中。

jQuery 标准团队由 jQuery 团队成员 Yehuda Katz 和 Paul Irish 领导,其中一些人可能您已经认识。Yehuda 和 Paul 多年来以各种身份与标准组织和浏览器厂商密切合作,他们分别在 SproutCore 和 Chrome Developer Relations 方面的工作为他们提供了额外的视角,这将有助于他们为社区争取利益。

您可能想知道为什么我们认为这个团队有资格代表更广泛的 Web 开发社区。由于 jQuery 在 Web 上如此多的网站中使用(超过 50% 的前 10,000 个网站),我们对普遍存在的问题和挑战以及现有实现中需要解决的问题有很好的了解。由于 jQuery 也非常专注于 DOM 操作,因此该库为已知的实现问题及其(当前)最佳解决方案提供了良好的信息来源。

虽然目前的团队主要由 jQuery 团队成员组成,但我们希望尽可能多地让对标准和规范充满热情的开发者参与到团队中来。归根结底,团队的目标是帮助识别对这个过程感兴趣的 Web 开发者,并为我们所有人提供一个讨论过程、想法和共同关注领域的论坛。我们相信,通过共同努力,我们可以共同构建一个更好的网络。

参与方式

如果您有兴趣参与 jQuery 标准团队,最简单的方法是注册 Google 群组。与其他 jQuery 子团队类似,将在 #jquery-meeting on freenode (日期待定) 上定期举行公开会议,讨论如何使团队尽可能有效地促进 Web 开发社区的需求。

您可能已经看到了 Paul 的帖子 What feature would improve the web? ——如果您的反馈被记录在其中,您就已经参与其中了。;)

您还可以在 官方团队 Github 仓库上的问题跟踪器中报告(或评论)标准或规范问题。如果您发布新问题,请尝试识别现有或正在提出的规范或标准中的问题。这里有一个 很好的例子

我们希望收集关于 Web 生态系统明确且清晰的问题,并向标准组织或厂商倡导改进。对于真实的问题,我们将相应地标记它们(例如,W3C、TC39、浏览器厂商等),并在适用时,向相应的标准组织或浏览器厂商提交工单,这样您就不必自己操作了。

结论

通过创建这个新的论坛,我们希望为数百万对参与这个过程感兴趣的 Web 开发者提供一个发声的平台,但却缺乏一个简单的途径。请告诉我们您对这个团队的想法,因为我们希望尽可能地改进它。我们期待听到您关于它和标准流程的评论、建议和想法!

jQuery 1.7 Beta 2 发布

发布于 作者

在波士顿上个月的 jQuery 大会势头的影响下,并基于社区宝贵的反馈,我们发布了一个新的 beta 版本,其中包含进一步的修复和改进的稳定性。完整的修复和功能列表如下。我们敦促大家开始在应用程序中测试此代码,以确保在最终发布之前没有重大问题。

您可以从 jQuery CDN 获取代码

请帮助我们,将这段代码放入您现有的应用程序中。如果您发现任何问题,请报告。 提交错误报告 并说明您正在测试 jQuery 1.7 Beta 2。如果存在问题,我们希望修复它!

jQuery 1.7 Beta 2 变更日志

1.7 Beta 2 版本的当前变更日志

Ajax

  • #9399:弃用 jqXHR.success 和 jqXHR.error

属性

  • #5479:removeAttr:移除多个属性
  • #10176:注入的 script 标签被评估两次
  • #10278:checkboxEl.attr(‘checked’) 在 checkboxEl.click() 之后返回陈旧的值
  • #10429:IE7 – 调用 removeAttr(‘contenteditable’) 时出现无效过程调用或参数

核心

  • #6485:IE 中的 HTML5 解决方案
  • #7102:将 jQuery 注册为 CommonjS 异步模块
  • #9453:$.inArray 不支持 fromIndex
  • #10478:将 jQuery.isNaN 切换到 jQuery.isNumeric

Css

  • #10267:IE8 和 window.is(‘:visible’) 崩溃

数据

  • #7323:允许使用 $.fn.removeData 一次移除多个数据键
  • #8909:$(element).data() 会扫描比需要的更多的属性。
  • #8921:jQuery 私有数据应保持私有

Deferred

  • #8856:请求:deferred.isUnresolved()
  • #9033:try{ } finally{ } 在 IE8 中出现错误
  • #9398:改进 Deferreds 的建议

Dimensions

  • #9434:.outerWidth()/.outerHeight()/.innerWidth()/.innerHeight() 应适用于 window 和 document

Effects

  • #5684:效果:动画回调中的异常导致无限循环
  • #6150:.stop 有时无法清除 .delay
  • #6641:在动画完成回调中调用 stop() 会导致其他动画冻结
  • #8685:动画应跟踪动画状态,以便正确处理堆叠动画
  • #9280:允许为 animate() 使用多个效果队列
  • #9548:animate 不适用于 svg 元素的 fill-opacity css 属性
  • #10416:defaultDisplay 在 FF 中返回 tr 的 block 而不是 table-row
  • #10445:将 queue 设置为 true 会导致错误

事件

  • #3368:event.metaKey 应仅在非 Mac 上分配给 event.ctrlKey
  • #6170:jQuery(window).scroll(); 会导致 IE* 滚动到 0,0
  • #6319:在 IE 中,change 处理程序内的 stopPropagation 会错误地应用于 keydown 事件
  • #6386:支持通过“event.special.live.add”获取 live 事件的数据参数
  • #6593:IE8:通过 jQuery 附加的 DOM 0 事件处理程序在单独的处理程序时会被调用两次
  • #6667:在某些条件下,submit 事件在 IE* 中无法委托
  • #6903:特殊事件需要一种方法来确定它们是使用 .bind 还是 .live/.delegate 绑定的
  • #6942:JQuery.event.fix 会导致在处理关键事件时出现不必要的重绘
  • #7139:“hover”事件别名应适用于 .bind 以及 .live
  • #7161:表单元素上的提交事件在 IE 中未正确解绑
  • #7444:使用“Enter”而不是按钮单击提交表单时,IE8 或 IE7 会触发 live 提交事件两次。
  • #8157:聚焦一个已经聚焦的文本字段会阻止 change 事件在 IE 中触发
  • #8728:当离开的元素被移除时,mouseenter 事件不会触发
  • #8789:Meta:事件属性挂钩
  • #8858:特殊事件 – _default 方法无法访问 trigger 方法的数据参数
  • #8866:IE8 input[type=file] 委托的 change 事件文件仅在 blur 时触发
  • #8982:bind(“unload someOther”) => 在卸载时,处理程序不会只执行一次。
  • #9069:当鼠标悬停在元素的子元素上时,使用 live 或 delegate 会触发 mouseleave
  • #9279:delegate() bind 无法正确处理所选元素的 mouseover/mouseout 和 mouseenter/mouseout
  • #9393:统一和简化事件系统
  • #9593:在 IE 中,委托的 submit 事件不是 jQuery.Event 的实例
  • #9724:当 window.parentNode 是 DOM 元素时,trigger 函数中出现无限循环
  • #9901:使用 .delegate 时 event.handleObj.namespace 不正确
  • #9933:jQuery.fn.toggle() 应将状态存储在私有数据对象中
  • #9951:在处理程序中修改 DOM 时,.trigger() 的顺序错误
  • #10375:不要在 jQuery.event.props 中包含 `type`
  • #10438:重命名 jQuery.event.propHooks => .fixHooks
  • #10468:移除已弃用的 jQuery.event.guid 和 jQuery.event.proxy
  • #10489:断开连接的元素在 .trigger() 上冒泡到 window

操作

  • #6782:小心允许更多字符串使用 innerHTML
  • #7037:克隆元素时添加了重复的 mouseover 和 mouseout 事件。

选择器

  • #3144:.text() 方法的结果在不同浏览器中不一致
  • #5637:布尔值(和空)属性选择器失败
  • #6863:更快 getText
  • #7128:由于使用 DOM 属性,属性选择器在 qSA 和 Sizzle 之间不一致
  • #8539:在没有 querySelectorAll 的浏览器中,Sizzle 缓存冲突
  • #9261:Has Attribute 在 filter/children/siblings 中不起作用
  • #9570:选择器 $(‘form[name=”..”]’) 在某些条件下在 IE8 中返回零个元素
  • #10178:$(window).is(“a”) >> 未捕获的 TypeError:无法对未定义的调用方法 ‘toLowerCase’
  • #10315:Sizzle 在使用位置选择器时忽略 seed 参数

支持

  • #5145:jQuery.support.opacity = false 在 Chrome 浏览器中
  • #6809:添加 jQuery.support.fixedPosition

Traversing

  • #10449:函数 $(“#id”).closest(“.class”) 如果它具有 .class,则返回元素 $(“#id”) 本身