jQuery 1.7 RC2 发布

发布于 作者

今天,在经历了一个非常可怕的万圣节之后,jQuery 团队从我们的 Github 陵墓(或者说仓库)中发布了 jQuery 1.7 RC2。除非有关于真正可怕的问题的报告,或者一群拿着火把的村民出现在我们家门口,否则这段代码将与最终发布的 1.7 版本完全相同。如果有人知道任何理由导致这段代码不应该最终发布,我们希望听到你的呼声!

在此安息的是
RC2 的代码;
请告诉我们
它是否对你有用
谢谢

在 RC2 中,我们修复了一个棘手的问题,该问题有时会导致 Internet Explorer 8 在加载 jQuery 时完全变成僵尸。巧合的是,崩溃与创建我们用来执行特性检测的独立 <body> 元素有关。IE8 似乎对独立的 body 感到恐惧,以至于崩溃了。如果你仍然看到 IE8 崩溃的问题,请告诉我们。

由于 @warrenparsons 的 bug 报告,我们还修复了 .show() 方法的 可怕的回归。我们非常感谢那些测试这些预发布版本的人们的努力。当然,想“等到最终发布后再试用”要容易得多,但这样一来,你发现的任何问题都会阻止你(以及可能数以百计或数以千计的其他人)升级。这至少对我们来说是非常可怕的。

在接下来的几天里,我们将在 api.jquery.com 上为 1.7 版本的许多新增功能和改进编写文档。请耐心等待几天,让我们整理页面,确保内容完整且所有链接都正常。要快速了解有哪些变化,请查看 1.7 类别

jQuery 1.7 RC 2 更改日志

当前 1.7 RC2 版本的更改日志。

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 中没有删除类属性

核心

  • #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: 改善延迟的提案

尺寸

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

效果

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

事件

  • #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: 提交事件在某些情况下不会在 IE* 中委托
  • #6903: 特殊事件需要一种方法来确定它们是使用 .bind 还是 .live/.delegate 绑定的
  • #6942: JQuery.event.fix 在 IE 中处理键事件时会导致不必要的重排
  • #7139: “hover” 事件别名应该适用于 .bind 以及 .live
  • #7161: 表单元素上的提交事件在 IE 中没有正确解绑
  • #7444: 使用“Enter”而不是按钮点击提交表单,在 ie8 或 ie7 中会触发 live submit 事件两次。
  • #8157: 在 IE 中,聚焦已经聚焦的文本字段将阻止 change 事件触发
  • #8728: 当离开的元素被移除时,事件“mouseenter”不会触发
  • #8789: 元数据:事件属性钩子
  • #8858: 特殊事件 - _default 方法无法访问 trigger 方法的“data”参数
  • #8866: IE8 input[type=file] 委托的 change 事件文件仅在失焦时触发
  • #8982: bind(“unload someOther”) => 在卸载时,处理程序不会只执行一次。
  • #9069: 当悬停在元素的子元素上时,使用 live 或 delegate 时会触发 mouseleave
  • #9279: delegate() 绑定没有为选定元素正确处理 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: 不要在 jQuery.event.props 中包含“type”
  • #10438: 重命名 jQuery.event.propHooks => .fixHooks
  • #10468: 删除已弃用的 jQuery.event.guid 和 jQuery.event.proxy
  • #10489: 断开连接的元素在 .trigger() 上冒泡到窗口
  • #10531: 考虑从 $.event.props 中删除 layerX 和 layerY
  • #10563: jQuery.Event 不再包含事件委托中匹配的选择器元素。
  • #10567: 委托的事件错误地匹配类名
  • #10575: 1.6.4 和 1.7rc1 之间 live 事件传播中的重大变化
  • #10576: jQuery1.7rc1 和 jQueryMobile1.0rc2 - IE 在 jqm triggerCustomEvent 方法中出现错误

操作

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

其他

  • #10420: MouseWheel
  • #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: 当使用 Sizzle 调用的伪选择器时,siblings 方法返回意外的元素

支持

  • #5145: jQuery.support.opacity 在 Chrome 浏览器中为 false
  • #6809: 添加 jQuery.support.fixedPosition
  • #10558: 测试支持错误
  • #10613: IE8 不喜欢头部中的独立 body

遍历

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

关于“jQuery 1.7 RC2 发布”的 9 条评论

  1. Peter Dubrovski 说:

    第 1621 行是什么?
    container.style.cssText = vb + “width:0;height:0;position:static;top:0;marginTop:” + conMarginTop + “px”;

    marginTop 是什么?
    Firefox 抛出一个警告。
    应该是 margin-top 吗?

  2. @John,请将此类问题与测试用例一起报告给 Highcharts,我们可以与插件制作方合作解决这些问题。

    @Kissifrot,IE6/7/8 共有共同的问题,所以直到可以放弃对 IE8 的支持之前,这不会有帮助。也许在 2021 年左右吧。