jQuery 1.7 RC2 发布
今天,在经历了一个非常可怕的万圣节之后,jQuery 团队从我们的 Github 陵墓(或者说仓库)中发布了 jQuery 1.7 RC2。除非有关于真正可怕的问题的报告,或者一群拿着火把的村民出现在我们家门口,否则这段代码将与最终发布的 1.7 版本完全相同。如果有人知道任何理由导致这段代码不应该最终发布,我们希望听到你的呼声!
在此安息的是
RC2 的代码;
请告诉我们
它是否对你有用
谢谢
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’) 崩溃
数据
延迟
尺寸
- #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() 中不一致
其他
选择器
- #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”) 本身
向修复 #8685 的人致敬!jQuery 很好!
第 1621 行是什么?
container.style.cssText = vb + “width:0;height:0;position:static;top:0;marginTop:” + conMarginTop + “px”;
marginTop 是什么?
Firefox 抛出一个警告。
应该是 margin-top 吗?
彼得,你发现了!https://github.com/jquery/jquery/commit/b4392c220af3da945a8b2d7b0053291956c97a17
你们在每次发布之前都会对不同的浏览器进行一系列测试吗?
@Michael,是的。超过 6000 个单元测试在十几个浏览器上运行
https://github.com/jquery/jquery/tree/master/test
jQuery 1.7RC2 不能正确渲染由 Highcharts 2.1.7 创建的柱状图的实心区域 http://www.highcharts.com
好奇,如果不再支持 IE6,jQuery 会快多少?
@John,请将此类问题与测试用例一起报告给 Highcharts,我们可以与插件制作方合作解决这些问题。
@Kissifrot,IE6/7/8 共有共同的问题,所以直到可以放弃对 IE8 的支持之前,这不会有帮助。也许在 2021 年左右吧。
Internet Explorer 是最糟糕的浏览器