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 映射到 encoding,具体取决于浏览器
  • #10176: 注入的脚本标签被评估两次
  • #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 私有数据应保持私有

延迟

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

尺寸

  • #9434: .outerWidth()/.outerHeight()/.innerWidth()/.innerHeight() 应在 window 和 document 上工作

效果

  • #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 在 IE 中处理键盘事件时会导致不必要的回流
  • #7139: “hover” 事件别名应适用于 .bind 和 .live
  • #7161: 表单元素上的提交事件在 IE 中未正确解除绑定
  • #7444: 使用“Enter”而不是按钮点击提交表单在 ie8 或 ie7 中会触发两次 live submit 事件。
  • #8157: 聚焦已经聚焦的文本字段将阻止 change 事件在 IE 中触发
  • #8728: 当离开的元素被移除时,event ‘mouseenter’ 不会触发
  • #8789: Meta:事件属性挂钩
  • #8858: 特殊事件 - _default 方法无法访问 trigger 方法的 `data` 参数
  • #8866: IE8 input[type=file] 委托 change 事件仅在失焦时触发
  • #8982: bind(“unload someOther”) => 在卸载时,处理程序不会仅执行一次。
  • #9069: 当悬停在元素的子元素上时,使用 live 或 delegate 时,mouseleave 会触发
  • #9279: delegate() bind 无法针对选定元素正确处理 mouseover/mouseout 和 mouseenter/mouseout
  • #9393: 统一和 DRY 事件系统
  • #9593: 委托的 submit 事件在 IE 中不是 jQuery.Event 实例
  • #9724: 当 window.parentNode 是 DOM 元素时,trigger 函数中出现无限循环
  • #9901: 使用 .delegate 时,event.handleObj.namespace 不正确
  • #9933: jQuery.fn.toggle() 应将状态存储在私有数据对象中
  • #9951: 当在处理程序中修改 DOM 时,.trigger() 中的顺序错误
  • #10375: 不要将 `type` 包含在 jQuery.event.props 中
  • #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 在使用位置选择器时忽略种子参数
  • #10562: siblings 方法在使用 Sizzle 调用的伪选择器时返回意外的元素

支持

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

遍历

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

jQuery 1.7 Beta 2 发布

发布于 作者

基于本月早些时候在波士顿举行的 jQuery 大会上的势头,以及社区宝贵的反馈,我们发布了一个新的测试版,其中包含进一步的修复并提高了稳定性。完整的修复和功能列表可以在下面找到。我们敦促大家开始在他们的应用程序中测试此代码,以便我们确保在最终版本发布之前没有任何重大问题。

你可以从 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: 注入的脚本标签被评估两次
  • #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 私有数据应保持私有

延迟

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

尺寸

  • #9434: .outerWidth()/.outerHeight()/.innerWidth()/.innerHeight() 应在 window 和 document 上工作

效果

  • #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 在 IE 中处理键盘事件时会导致不必要的回流
  • #7139: “hover” 事件别名应适用于 .bind 和 .live
  • #7161: 表单元素上的提交事件在 IE 中未正确解除绑定
  • #7444: 使用“Enter”而不是按钮点击提交表单在 ie8 或 ie7 中会触发两次 live submit 事件。
  • #8157: 聚焦已经聚焦的文本字段将阻止 change 事件在 IE 中触发
  • #8728: 当离开的元素被移除时,event ‘mouseenter’ 不会触发
  • #8789: Meta:事件属性挂钩
  • #8858: 特殊事件 - _default 方法无法访问 trigger 方法的 `data` 参数
  • #8866: IE8 input[type=file] 委托 change 事件仅在失焦时触发
  • #8982: bind(“unload someOther”) => 在卸载时,处理程序不会仅执行一次。
  • #9069: 当悬停在元素的子元素上时,使用 live 或 delegate 时,mouseleave 会触发
  • #9279: delegate() bind 无法针对选定元素正确处理 mouseover/mouseout 和 mouseenter/mouseout
  • #9393: 统一和 DRY 事件系统
  • #9593: 委托的 submit 事件在 IE 中不是 jQuery.Event 实例
  • #9724: 当 window.parentNode 是 DOM 元素时,trigger 函数中出现无限循环
  • #9901: 使用 .delegate 时,event.handleObj.namespace 不正确
  • #9933: jQuery.fn.toggle() 应将状态存储在私有数据对象中
  • #9951: 当在处理程序中修改 DOM 时,.trigger() 中的顺序错误
  • #10375: 不要将 `type` 包含在 jQuery.event.props 中
  • #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 在使用位置选择器时忽略种子参数

支持

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

遍历

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

jQuery 1.7 Beta 1 发布

发布于 作者

如果你还没有听说,jQuery 大会 2011 将于本周晚些时候在波士顿举行。我们准备了一点东西,我们喜欢称之为 jQuery 1.7 Beta 1,我们将在大会上更多地谈论它。它包含了许多新功能和重要的错误修复——截至目前,有 50 多个修复。

你可以从 jQuery CDN 获取测试版

请将此代码添加到你的现有应用程序中,并告知我们是否不再有任何工作。请 提交一个错误 并确保提到你在针对 jQuery 1.7 BETA 1 进行测试。

另外,请务必探索所有新功能,并查看你最喜欢的恼人错误是否已修复。如果你等到最终版本发布后再进行测试,那就太迟了!

和往常一样,我们希望鼓励社区中的每一个人尝试并参与回馈 jQuery 核心。我们已经建立了一个完整页面的信息,致力于让你更深入地了解团队。团队就在这里,随时准备帮助你帮助我们!

哦,你可能想知道发生了什么变化,对吧?Addy Osmani 在他的最近一篇文章中做了很好的开端,所以让我们来讨论一下他文章中没有提到的内容。

新的事件 API:.on().off()

随着时间的推移,jQuery 已经发展出三种将事件附加到元素的方法:.bind().live().delegate()。但归根结底,这三个事件 API 都调用了浏览器的事件系统;这可能会导致一些意想不到的交互。例如,$(document).unbind("click") 将移除所有 .live("click", ...) 事件,因为这些委托事件是附加到 document 上的。(这也是为什么你应该使用事件命名空间。)

我们目前的事件 API 不会很快消失,但为了解决我们引入的不一致性,我们引入了新的简单事件方法对,它们可以完成所有三个方法的工作。

    $(elems).on(events, selector, data, fn);
    $(elems).off(events, selector, fn);

如果提供了 selector,它是一个委托事件;否则它直接绑定。所有旧 API 的功能都存在;例如 events 可以是一个用空格分隔的事件名称和/或命名空间字符串,或者它可以是一个对象,其中键是事件,值是事件处理程序函数。以下是旧方法映射到新方法的一些示例。

旧 API 新 API
$(elems).bind(events, fn) $(elems).on(events, fn)
$(elems).bind(events, { mydata: 42 }, fn) $(elems).on(events, { mydata: 42 }, fn)
$(elems).unbind(events, fn) $(elems).off(events, fn)
$(elems).delegate(selector, events, fn) $(elems).on(events, selector, fn)
$(elems).undelegate(selector, events, fn) $(elems).off(events, selector, fn)
$(selector).live(events, fn) $(document).on(events, selector, fn)
$(selector).die(events, fn) $(document).off(events, selector, fn)

IE 6/7/8 中的表单更改和提交事件

这些旧的 Internet Explorer 版本可能会困扰我们一段时间,所以我们花了一些时间试图改进它们的性能。事件传递性能得到了极大的提升,但最大的变化是我们使用了一种不同的方法来修复它们不冒泡和表单事件错误。因此,我们能够极大地简化和缩短特殊事件代码。这些事件应该没有任何问题地工作——甚至比以前更好,因为我们修复了大约六个相关的错误——但请密切关注任何异常行为。

动画改进

在 1.7 版之前,如果你在动画完成之前停止了动画,它可能会导致正在被动画化的元素永远无法恢复到其完整尺寸;它本质上会卡在动画停止时的那个高度。我们通过在动画开始之前记住原始尺寸来修复这个问题,这样以后就可以使用它们。这消除了在使用某些动画(特别是切换动画)时遇到的一个重大问题。

.removeData() 增强功能

Addy 也提到了这一点,但 .removeData() API 现在允许你传递一个用空格分隔的名称字符串或一个要删除的名称数组。由于以前在数据名称中允许空格,因此代码首先检查你指定的精确名称,然后再以空格为分隔符拆分字符串。这样,任何现有代码都不会因这种增强而失效。

jQuery 1.7 BETA 1 更改日志

以下是 1.7 BETA 1 版本的完整更改列表。

Ajax

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

属性

  • #5479: removeAttr: 删除多个属性
  • #10278: checkboxEl.attr(‘checked’) 在 checkboxEl.click() 之后返回陈旧的值

核心

  • #6485: 针对 IE 的 HTML5 解决方案
  • #7102: 将 jQuery 注册为 CommonjS 异步模块
  • #9453: $.inArray 不支持 fromIndex

Css

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

数据

  • #7323: 使用 $.fn.removeData 允许一次删除多个数据键
  • #8909: $(element).data() 将扫描所有属性,超过必要次数。
  • #8921: jQuery 私有数据应保持私有

延迟

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

效果

  • #5684: 效果:动画回调中的异常导致无限循环
  • #6150: .stop 有时不会清除 .delay
  • #6641: 在动画完成回调中调用 stop() 会导致其他动画冻结
  • #8685: 动画应跟踪动画状态,以便正确解决堆叠动画
  • #9280: 允许为 animate() 使用多个效果队列
  • #9548: animate 对于 svg 元素的 fill-opacity css 属性不起作用

事件

  • #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* 中委托
  • #6705:focus() 导致 focus 事件在 IE8 中被处理两次
  • #6903: 特殊事件需要一种方法来确定它们是使用 .bind 还是 .live/.delegate 绑定。
  • #6942: JQuery.event.fix 在 IE 中处理键盘事件时会导致不必要的回流
  • #7139: “hover” 事件别名应适用于 .bind 和 .live
  • #7161: 表单元素上的提交事件在 IE 中未正确解除绑定
  • #7444: 使用“Enter”而不是按钮点击提交表单在 ie8 或 ie7 中会触发两次 live submit 事件。
  • #8157: 聚焦已经聚焦的文本字段将阻止 change 事件在 IE 中触发
  • #8728: 当离开的元素被移除时,event ‘mouseenter’ 不会触发
  • #8789: Meta:事件属性挂钩
  • #8858: 特殊事件 - _default 方法无法访问 trigger 方法的 `data` 参数
  • #8866: IE8 input[type=file] 委托 change 事件仅在失焦时触发
  • #8982: bind(“unload someOther”) => 在卸载时,处理程序不会仅执行一次。
  • #9069: 当悬停在元素的子元素上时,使用 live 或 delegate 时,mouseleave 会触发
  • #9279: delegate() bind 无法针对选定元素正确处理 mouseover/mouseout 和 mouseenter/mouseout
  • #9393: 统一和 DRY 事件系统
  • #9593: 委托的 submit 事件在 IE 中不是 jQuery.Event 实例
  • #9724: 当 window.parentNode 是 DOM 元素时,trigger 函数中出现无限循环
  • #9901: 使用 .delegate 时,event.handleObj.namespace 不正确
  • #9933: jQuery.fn.toggle() 应将状态存储在私有数据对象中
  • #9951: 当在处理程序中修改 DOM 时,.trigger() 中的顺序错误

操作

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

选择器

  • #5637: 布尔(和空)属性选择器失败
  • #7128: 由于使用 DOM 属性,属性选择器在 qSA 和 Sizzle 之间不一致
  • #9261: Has Attribute 在 filter/children/siblings 中不起作用
  • #9570: 选择器 $(‘form[name=”..”]’) 在某些情况下在 IE8 中返回零个元素
  • #10178: $(window).is(“a”) >> 未捕获的 TypeError:无法调用未定义的 toLowerCase 方法
  • #10315: Sizzle 在使用位置选择器时忽略种子参数

支持

  • #6809: 添加 jQuery.support.fixedPosition

jQuery 1.6.4 RC1 发布

发布日期: 作者:

jQuery 1.6.4 将很快发布,我们需要你在这个候选版本中帮助我们找到任何剩余的错误。我们正在发布一个新版本来解决 1.6.3 版本中出现的一些最后时刻的错误。考虑到 1.7 版本将在下个月发布,我们认为在进行更多重大更改和功能添加之前,修复这些错误并最终确定 1.6.x 版本非常重要。

请随意通过包含以下两个文件中的任何一个(一个最小化,一个未压缩)来进行测试。如果你发现任何与 1.6.3 版本的重要差异,请尽快提交错误报告,并确保提及你正在测试的是 jQuery 1.6.4 RC1 版本。我们首选的测试用例平台是jsFiddle;你只需在那里使用“jQuery (edge)”选项即可。

jQuery 1.6.4 RC1 更改日志

1.6.4 版本的当前更改日志

数据

  • #10194:使用单破折号包围的字母的数据属性名称无法通过驼峰命名法访问

事件

  • #10208:$(“form”).live(“submit”, fn) 在 IE8 中未从 <button type=”submit”> 触发

支持

  • #10197:jQuery 1.6.3 中 mime-type application/xhtml+xml 的错误

如果你发现问题,请尽快提交错误报告和测试用例,如上所述。博客评论或 Twitter 不是有用的错误报告!

jQuery 1.6.3 RC1 发布

发布日期: 作者:

jQuery 1.6.3 即将发布!我们需要你在这个候选版本中帮助我们确保万无一失。

请随意通过包含以下两个文件中的任何一个(一个最小化,一个未压缩)来进行测试。我们首选的测试用例平台是jsFiddle;你只需在那里使用“jQuery (edge)”选项即可。如果你需要报告错误,但无法使用 jsFiddle,请使用未压缩版本和你的测试用例。

请使用你最珍贵的代码测试这个版本。如果你发现任何与 1.6.2 版本的重要差异,请尽快提交错误报告,并确保提及你正在测试的是 jQuery 1.6.3 RC1 版本。

如果你从 jQuery 的旧版本升级,你发现的差异可能是由于重大版本发布中引入的已记录的行为变更。请先使用已发布的 1.6.2 版本检查你的代码,以确保问题只存在于 1.6.3 RC1 版本中。

亮点

修复一个XSS 攻击向量: 用户 ma.la 报告了一个常见模式,许多网站使用 location.hash 来选择元素,这允许攻击者将脚本注入页面。这种做法似乎很普遍,因此我们决定修改选择器识别,以防止在最常见情况下发生脚本注入。如果任何传递给 $() 的字符串前面包含“#”字符,则该字符串不能包含 HTML 标签(因此不能包含脚本)。有关更多信息和测试用例,请参阅上面链接的错误报告。

不再有动画“虫洞” 当我们在 1.6 版本中添加对浏览器 requestAnimationFrame API 的支持时,我们对其寄予厚望。但是,从那时起,我们收到的投诉中,最大的问题之一与 requestAnimationFrame 在选项卡不可见时的行为有关。当选项卡不可见时启动的所有动画都会“堆积”起来,直到选项卡重新获得焦点才会执行。然后它们会以超高速进行动画!我们已删除对该 API 的支持(这不会影响你调用 jQuery 动画功能的方式),并计划将其整合到 jQuery 的未来版本中。

更好地处理 HTML5 数据属性名称:$().data() API 同时兼顾两种功能,除了读取 HTML5 data- 属性的初始值之外,还处理 jQuery 和插件的内部使用数据。我们改进了使用 HTML5 约定的能力,例如在需要时将 camel-case 转换为 camelCase。但请记住,$().data() API 仅在最初读取 HTML5 data- 属性,出于性能原因,不会将后续数据更改与属性同步。要更新 HTML 标记中的实际属性,请使用 .attr()

jQuery 1.6.3 更改日志

1.6.3 版本的当前更改日志

Ajax

  • #9255:jQuery.parseXML 错误处理在 WebKit 浏览器中不起作用
  • #9854:传递 statusText 而不是“规范化”它
  • #9887:jQuery.ajaxSetup 可能会导致不必要的内存使用
  • #9970:ajax.js 中的拼写错误:status 应该是 jqXHR.status?
  • #10098:对类似注释的 Accept 标头进行编码,以避免移动运营商乱改

属性

  • #9630:foo.contents().hasClass() 返回不正确的值
  • #9699:removeAttr(‘style’) 不会始终如一地从 WebKit 中删除 style 属性
  • #9719:removeAttr(‘disabled’) 在 IE6 中不会更改输入的颜色
  • #9979:.prop(‘tabIndex’) 对尚未设置 tabIndex 的元素返回不一致的结果
  • #9980:通过对 IE6/7 中的所有内容使用 getAttributeNode 来简化 attr 代码

构建

  • #9988:压缩的 jQuery 中的最小许可证头

核心

  • #9521:使用 $(location.hash) 和 $(#) 时的 XSS
  • #9897:try-catch isPlainObject 检测
  • #10076:如果第二个参数是 `null` 或 `undefined`,则 $.inArray 会导致 IE6 和 Chrome 崩溃

CSS

  • #6652:动画后删除 filter:alpha(opacity=100)
  • #9572:在 .css() 方法中支持 -ms-transform
  • #10021:无法使用相对值语法在 .css() 和 .animate() 中添加负数

数据

  • #8235:jQuery.data 在某些情况下会抛出脚本错误
  • #9318:HTML5 数据属性在属性名称包含数字时表现异常
  • #9413:$.fn.removeData 不会删除名称中带有破折号的数据
  • #9779:允许对数据属性值进行非 null|undefined 评估
  • #9794:jQuery.fn.data() 正确处理对任意数据属性值的访问
  • #10016:无法使用 jQuery.data 方法检索名称中带有破折号的键的“假值”
  • #10080:来自框架窗口的 unload 在 IE8 中中断

尺寸

  • #10123: .width() 在 Firefox 6 中可能返回浮点数

效果

  • #9381: 动画由于 requestAnimationFrame 会在浏览器失去焦点时停止
  • #9678: setInterval 被动画清除

事件

  • #7071: 在 IE 中,在提交特殊处理程序期间访问 VML 元素的“type”属性失败

操作

  • #9587: 在 IE8 中,克隆包含对象的 div 会导致错误

支持

  • #9634: 在 support.js 初始化期间,左上角出现可见的“t”字符
  • #9823: 在 IE 8 中,在 css 中对 BODY 使用 background-image 会导致崩溃
  • #9964: test/support.js 模块中 strictEqual 存在拼写错误
  • #10029: $.support.scriptEval 已移除,但仍在文档中

如果你发现问题,请尽快提交错误报告和测试用例,如上所述。博客评论或 Twitter 不是有用的错误报告!

jQuery 1.4.4 发布

发布日期: 作者:

jQuery 1.4.4 现已发布!这是基于 jQuery 1.4 的第四个次要版本,它修复了许多错误,并对 1.4.3 进行了多项改进。

我们感谢以下社区成员为此次发布提供了补丁、意见和时间:Rick Waldron、Dan Heberden、Alex Sexton、Colin Snover。

以及以下 jQuery 核心团队成员:John Resig、Dave Methvin、Karl Swedberg、Paul Irish。

我们也感谢我们的错误分类团队,他们帮助缩小了此次发布中所需的一些重要修复范围:Colin Snover、Rick Waldron、Addy Osmani、Alex Sexton、Adam Sontag、Dave Methvin、Mike Taylor、Aaron Boushley、Jitter 和 John Resig。

下载

与往常一样,我们提供两个版本的 jQuery,一个压缩版本,一个未压缩版本(用于调试或阅读)。

您可以随意将以上 URL 直接包含到您的网站中,这样您就可以获得快速加载 jQuery 带来的全部性能优势。

此外,您也可以从 Microsoft 和 Google 的 CDN 中直接加载 URL。

Microsoft CDN: http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.4.min.js

Google CDN: https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.4.4/jquery.min.js

总体改进

我们在本次发布中进行了一些改进,其中许多改进修复了 jQuery 社区指出的错误。有关完整变更列表,请参阅下面标记为“变更”的部分了解更多信息。

新功能

所有新功能和变更都可以在 jQuery 1.4.4 API 文档 中找到。

.fadeToggle()

为了进一步统一我们 API 中的方法,我们引入了一种新的 Effects 方法 .fadeToggle()。我们的 API 中已经存在用于滑动 (.slideToggle()) 和切换类 (.toggleClass()) 的现有 toggle 方法,因此为我们扩展淡入淡出效果的内置切换可用性是有意义的。有关更多信息,请参阅 .fadeToggle() 的 API 文档。

变更

更新内容?

自 1.4.3 发布以来,jQuery 中的一些区域发生了变化

  • (新) 添加了一种新的动画方法 .fadeToggle()
  • (增强) 无参数调用 .data() 现在将包含来自 HTML5 data- 属性的数据 (#7222)
  • (增强) 将 jQuery.props 从 support.js 移动到 attributes.js (#6897)
  • (增强) .width() 和 .height() 现在报告隐藏元素的宽度和高度 (#7225)
  • (错误) stopImmediatePropagation 在 live/delegate 事件处理程序中没有得到遵守 (#7217)
  • (错误) 修复了一个问题,该问题导致在确定 AJAX 请求是本地还是远程时,主机和协议没有进行不区分大小写的比较 (#6908)
  • (错误) 修复了一个问题,该问题导致“clone”变量没有被正确声明 (#7226)
  • (错误) 修复了一个错误,该错误导致我们只更改没有 ID 的节点的 ID 以进行基于根节点的 qSA (#7212)
  • (错误) 将 CSS 'auto' 更改的范围限制为仅高度/宽度 (#7393)
  • (错误) 修复了一个错误,该错误确保未加引号的属性选择器被加引号(允许它们正确进入 qSA/matchesSelector)。修复了 (#7216)
  • (错误) 修复了一个错误,该错误确保如果触发了额外的 load 事件(例如,在 DOM 就绪时动态注入 iframe),则不会触发两次 ready 事件 (#7352)。
  • (错误) 修复了一个阻止 attr 对非 Element 节点工作的条件 (#7451)。
  • (错误) 在调用 .data('foo') 后更改 HTML5 data 属性不再会导致 .data('foo') 也发生更改 (#7223)
  • (错误) 修复了一个错误,该错误导致 Opera 无法使用 getComputedStyle 获取 display: none 元素的高度/宽度,但可以使用 currentStyle 获取,如果存在则回退到该方法。
  • (错误) 修复了一个错误,该错误确保访问元素的计算 CSS 返回 'auto' 而不是 '' (#7337)

它还修复了 1.4.3 中的一些回归。其中一个导致

  • (错误) JSONP 调用在回调后清理时失败 (#7196)
  • (错误) .removeData() 失败 (#7209)
  • (错误) 使用 .bind('ready', foo) 添加时,'ready' 事件会触发两次 (#7247)
  • (错误) .css('width') 和 .css('height') 在尝试获取隐藏或断开连接的元素的样式时返回 0 或负值 (#7225)
  • (错误) 属性不等于选择器 ([foo!=bar]) 在 Firefox 中不起作用 (#7243)
  • (错误) find() 在从包含名为“id”的输入的表单中进行选择时失败 (#7212)
  • (错误) .children(selector) 在 XML 文档中失败 (#7219)
  • (错误) 子元素 (>)、下一个兄弟元素 (+) 和上一个兄弟元素 (~) 选择器与非 CSS 伪选择器(如 :last)结合使用时失败 (#7220)
  • (错误) 将 null 作为事件处理程序传递时会引发错误“handler is null” (#7229)
  • (错误) 无法使用 DELETE 请求包含内容主体 (#7285)
  • (错误) 无法使用 HEAD 请求包含数据 (#7285)
  • (错误) 在使用 live/delegate 时,IE 会在禁用的元素上触发点击事件 (#6911)
  • (错误) 如果先对已经隐藏的元素调用 .hide(),则 .show() 会失败 (#7331)
  • (错误) 如果元素在样式表中被隐藏,然后在调用 .show() 之前手动设置了 .css('display'),则 .show() 会失败 (#7315)


jQuery 1.4.4 中向后不兼容的更改

.width() 和 .height() 方法在检查使用 'display: none' 隐藏的元素时不再返回 0。要确定元素是否隐藏,始终使用 .is(':hidden')。

就这样!jQuery 1.4.4 现已发布,请随时更新您的项目以使用最新版本。我们欢迎来自社区的任何反馈。

您希望在 jQuery 1.5 中看到哪些功能?

现在 jQuery 1.4.4 已经发布,我们开始计划下一个主要版本,我们希望社区帮助我们决定应该包含哪些功能。建议功能的过程非常简单;以下是您需要做的

1. 想一想您想在 jQuery 1.5 中包含的功能
2. 如果还没有,请在我们的 [错误跟踪器] 中为该功能创建一个新问题
3. 通过填写 [jQuery 1.5 功能提名表] 发送您的提名

就这样!在接下来的几周内,jQuery 团队将坐下来审查所有提名。我们认为将使大多数社区受益的功能将被添加到我们的路线图中。

我们计划在明年年初发布 jQuery 1.5,我们感谢您提供的任何帮助,让我们知道我们如何才能为您改进它。我们期待听到您的想法和功能请求。

官方 jQuery 播客有了新家

发布日期: 作者:

今天,我们很高兴地宣布,我们将官方 jQuery 播客从 jQuery 博客迁移到 http://podcast.jquery.com

我们认为,由于每期节目说明的每周博客文章,播客占用了博客的很大一部分。社区的一些成员也持相同看法。我们一直在努力将现有文章移植过来,并使新的播客网站更便于我们的听众使用。

现在,每期节目的说明都经过了简化,为您提供了有关节目内容的简要介绍,以及节目中提到的所有链接。我们还可以通过嵌入式播放器从文章中播放节目,并提供简便的下载链接和 订阅 链接。

我们还提供了一个简单的 联系表单,让您可以直接联系播客。

我们已经清理了 jQuery 博客,删除了旧的节目说明,并设置了 URL 重定向,因此旧的 URL 仍然可以指向新网站上的正确文章。说到博客,我们想知道您希望在 jQuery 博客上看到更多什么内容?我们一直在使用博客发布关于项目和即将举行的活动的新闻。我们还可以发布哪些其他内容来帮助您?我们很乐意听到您的想法。

特别感谢 Doug Neiner 帮助设计和编码,以及 Jonathan Sharp 为设置网站和实施 URL 重定向提供的帮助。

请告诉我们您对新的播客网站有何看法,别忘了继续收听节目。

jQuery 项目自豪地宣布 jQuery Mobile 项目

发布日期: 作者:

移动 Web 开发是 Web 开发社区中正在兴起的一个热门话题。因此,jQuery 团队一直在努力确定 jQuery 项目将采取的策略和方向。今天,我们很自豪地宣布 jQuery Mobile 项目。我们在 jquerymobile.com 上推出了一个新网站,公开概述了我们的策略、研究和 UI 设计。

与往常一样,我们希望听到您的意见。 我们创建了一个新的 移动 jQuery 论坛,以收集社区的反馈。 请随时加入讨论,并 阅读更多公告信息

jQuery 大会 2010:旧金山湾区演讲者/日程公布!

发布日期: 作者:

jQuery 项目组非常高兴地宣布我们首次旧金山湾区大会的 最终日程演讲者名单。大会将于 2010 年 4 月 24 日和 25 日在加利福尼亚州山景城的微软硅谷研究中心举行。

演讲者包括:John ResigScott GonzálezSteve SoudersNicholas ZakasJohn Nunmaker 以及大部分 jQuery 团队成员,仅举几例。

jQuery 大会 2010:旧金山湾区报名仍在进行中!您仍然有机会 报名参加 这一盛会!

立即获取您的门票.

您将可以期待的一些内容的简要概述

  • jQuery
  • jQuery UI
  • jQuery 插件
  • 复杂应用程序开发
  • jQuery 案例研究

除了两天的 jQuery 会议之外,我们还将首次在主活动之前增加一天的 jQuery 培训。培训将由 appendTo 提供,重点是帮助您和您的团队在参加会议之前快速了解 jQuery。培训将涵盖以下主题

  • jQuery 入门
  • 查找内容
  • 对内容执行操作
  • 链式调用
  • jQuery UI 入门
  • 实现 jQuery UI 小部件

培训将于 4 月 23 日在旧金山市中心的微软旧金山办事处举行;门票价格为 299 美元。所有培训收入将捐赠给 jQuery 项目。

立即获取您的门票.

14 天的 jQuery 总结:第 8-14 天,jQuery 1.4.1 发布

发布日期: 作者:

如果您没有关注 14 天的 jQuery 活动,这里总结了第 8-14 天发布的内容。

亮点

在第 12 天,jQuery 团队 发布了 jQuery 1.4.1,这是 jQuery 1.4 的第一个错误修复版本。jQuery 1.4.1 现在是 jQuery 的最新版本;请花点时间查看 1.4.1 版本说明

在第 13 天,团队 宣布 了新的 jQuery 聚会 网站。我们希望帮助促进本地聚会,并最终努力为您的团体提供更多资源。

jQuery Meetups

在第 14 天,jQuery UI 团队发布了 jQuery UI 1.8 发布候选版本 1。团队希望您在 jQuery UI 开发论坛 中进行测试并提供错误或评论反馈。

完整回顾

第 8 天

  • jQuery 项目
  • jQuery.org

第 9 天

  • jQuery 工作坊赠品
  • jQuery 播客第 8 集:api.jquery.com
  • jQuery 1.4 热点 #3,与 Paul Irish 共同呈现
  • jQuery API 键导航

第 10 天

  • jQuery 1.4 热点 #4,与 Paul Irish 共同呈现

第 11 天

  • 使用 jQuery 进行事件驱动编程,Yehuda Katz
  • 14 天的 jQuery 背后

第 12 天

  • jQuery 1.4.1 发布
  • jQuery 1.4 热点 #5,与 Paul Irish 共同呈现

第 13 天

  • jQuery 聚会
  • jQuery 1.4 热点 #6,与 Paul Irish 共同呈现
  • Paul Irish 和 Dave Methvin 加入 jQuery 团队

第 14 天

  • jQuery UI 1.8rc1

赞助商和捐款

再次感谢我们的 优秀赞助商 以及您,jQuery 社区,让这样的活动成为可能。我们感谢所有在这次活动中捐款的人。我们收到了来自 653 人的捐款,我们真诚地感谢所有贡献者。如果您错过了此次活动,您仍然可以通过 发送免税捐款 或向我们的赞助商表示感谢来表达您对 jQuery 的喜爱之情。

Netflix

Netflix, Inc.(纳斯达克股票代码:NFLX)是全球最大的在线电影租赁服务提供商,拥有超过 1100 万用户。每月只需 8.99 美元,Netflix 会员就可以无限观看流式传输到其电视和电脑上的电影和电视剧集,还可以接收无限量 DVD 并快速送达其家中。

JupiterIT

Jupiter 提供专业的 Web 应用程序开发、支持服务和培训。Jupiter 致力于开源,收集了其在提供企业级 JavaScript 应用程序方面的全球经验,并将其公开发布为 JavaScriptMVC。

appendTo

appendTo,jQuery 公司,为全球 Web 开发社区和企业提供业界领先的 jQuery 培训和支持服务。appendTo 利用“少写代码,多做事情”的 JavaScript 库的力量以及 jQuery 团队成员的丰富经验,处于将 jQuery 运动推向下一代开源技术进步的最前沿。

Oxide Design

Oxide Design Co. 是一家传播和信息设计公司。我们专注于企业标识、品牌战略、包装、印刷和网站设计。我们阐明想法以创造有效的设计。

Fusionary

我们 Fusionary 是一家屡获殊荣的 Web 和互动工作室。自 1995 年以来,我们一直在网上创作内容,我们的客户非常喜欢我们。

团队希望您喜欢这场庆祝 jQuery 1.4 发布的在线会议。我们很乐意听到您的反馈。请在此新 jQuery 论坛主题中提交您的反馈。