今天,在万圣节之后,jQuery 团队从我们的 Github 地下室,哦不,仓库里发布了 jQuery 1.7 RC2。除非有关于严重问题的报告,或者一群村民手持火把跑到我们家门口,否则这个代码将与最终的 1.7 版本完全相同。如果您知道任何原因导致这个代码不应该成为最终版本,请告诉我们!
RC2 的代码;
请告诉我们
它是否适用于您
为您
在 RC2 中,我们修复了一个棘手的问题,该问题有时会导致 Internet Explorer 8 在加载 jQuery 时完全变成僵尸。恰如其分的是,崩溃与创建我们用于执行特性检测的已分离 <body>
元素有关。IE8 似乎对分离的 body 元素感到害怕,并会崩溃。如果您仍然遇到 IE8 崩溃问题,请告诉我们。
感谢 @warrenparsons 的错误报告,我们还修复了 .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 中删除 class 属性
核心
- #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() 应在窗口和文档上工作
效果
- #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”支持实时事件的 data 参数
- #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 上提交表单会触发实时提交事件两次。
- #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() bind 不会为选定的元素正确处理 mouseover/mouseout 和 mouseenter/mouseout
- #9393: 统一并简化事件系统
- #9593: 委托的提交事件不是 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() 上冒泡到窗口
- #10531: 考虑从 $.event.props 中删除 layerX 和 layerY
- #10563: jQuery.Event 不再包含与事件委托匹配的元素。
- #10567: 委托事件错误地匹配类名
- #10575: 1.6.4 和 1.7rc1 之间的实时事件传播中的重大更改
- #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: 在 filter/children/siblings 中,Has Attribute 不起作用
- #9570: 选择器 $(‘form[name=”..”]’) 在某些情况下在 IE8 中返回零个元素
- #10178: $(window).is(“a”) >> 未捕获的类型错误:无法调用未定义的 toLowerCase 方法
- #10315: Sizzle 在使用位置选择器时忽略 seed 参数
- #10562: siblings 方法在使用 Sizzle 调用伪选择器时返回意外的元素
支持
- #5145: jQuery.support.opacity = false 在 Chrome 浏览器中
- #6809: 添加 jQuery.support.fixedPosition
- #10558: 测试支持错误
- #10613: IE8 不喜欢头部中的分离的 body 元素
遍历
- #10449: 函数 $(“#id”).closest(“.class”) 如果具有 .class,则返回元素 $(“#id”) 本身