jQuery 1.6 RC 1 发布

发布于 作者

这是 jQuery 的预览版本。我们发布它,以便每个人都可以开始在他们的应用程序中测试代码,确保没有重大问题。

您可以从 jQuery CDN 获取代码

您可以帮助我们,将这段代码放入您现有的应用程序中,并告知我们是否有任何功能不再正常工作。请 提交错误报告,并务必说明您正在测试 jQuery 1.6 RC 1。

我们希望鼓励社区中的每个人尝试 参与 jQuery 核心的贡献。我们已经建立了一个 完整页面,专门介绍如何更多地参与团队工作。团队随时准备帮助您帮助我们!

jQuery 1.6 RC 1 变更日志

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

Ajax

  • #6481:revert $.param 应该将空数组/对象视为空字符串
  • #7881:使其与 XHR 2 兼容
  • #8417:发布 AJAX 数据时,包含“??” 的数据格式化为 jQuery<timestamp>?
  • #8744:.ajax() jsonp 请求在超时时未正确处理
  • #8884:jqXHR 破坏自定义标头字段的名称

属性

  • #3786:removeAttr 应该使用 jQuery.props
  • #4283:.attr(‘checked’) & XHTML 1.1 Strict
  • #4464:IE 无法获取分离的 IMG 元素的宽度属性
  • #4978:jQuery.prop 缺少 cellpadding?
  • #5413:tag “img” width/height 属性为零 (IE)
  • #6562:使用 .attr() 设置具有 ID 为 ‘target’ 的节点的 ‘target’ 属性
  • #6708:Opera 对 usemap 属性值的结果不一致
  • #6823:使 .val(value) 对于常见用例更快
  • #7472:$(‘form’).attr(‘id’) 返回 DOM 元素
  • #7485:has [attribute] 选择器和 attr() 方法之间存在不一致
  • #7709:禁止访问非 Chrome Firefox/3.5.15 的 ‘nodeType’ 属性
  • #7996:Safari $(‘script’).attr(‘event’); 错误
  • #8117:.removeAttr 不适用于 select 元素的 size 属性
  • #8150:webkit 和 firefox 中的 removeAttr 问题
  • #8255:支持 list 属性
  • #8418:在 IE 7 中使用 attr() 方法设置 name 参数
  • #8457:attrHooks
  • #8570:.val 方法在动态创建的 IE9 无效的单选按钮时返回“on”
  • #8699:.attr() 返回未找到属性时返回 -1
  • #8772:使用 .attr() 设置输入类型 ‘range’ 会导致 IE9 脚本错误

构建

  • #8854:minifier 过程中的错误

核心

  • #2616:更好的 jQuery.map
  • #3116:.attr 不适用于 SVG IDL
  • #4366:$.each 在 IE 中使用 document.styleSheets 时失败
  • #6690:存储 location 和 navigator 对象的引用
  • #7049:使 jQuery.noConflict() 随时可用
  • #7783:修复 $.proxy 以像 (并使用) Function.prototype.bind 一样工作
  • #7862:jQuery.globalEval(): Firefox 中远程脚本延迟执行
  • #7990:在 Firefox 中使用 jQuery 构造函数创建大型 HTML 块时出现脚本空间配额耗尽错误
  • #8882:测试:更新 QUnit 用法,将 id=main 替换为 id=qunit-fixture
  • #8893:jQuery.proxy( context, name ) 在 1.6b1 中的错误

Css

  • #6135:jQuery 尝试访问文本标签的 .style 属性
  • #7345:支持相对值用于 $().css()
  • #7730:offset.js: setOffset 使用 parseInt 解析 css 值,这些值可能包含浮点数
  • #8401:opacity cssHooks 的小改进
  • #8402:jQuery.cssProps 在所有浏览器中都无用,除非 IE6/7/8
  • #8403:jQuery 覆盖其他 IE 过滤器时分配不透明度

数据

  • #7328:data-foo-bar 是否应该可以通过 .data( ‘fooBar’ ) 以及 .data( ‘foo-bar’ ) 访问?

Effects

  • #7917:在使用大量元素时,.animate() 动画没有“同步”
  • #7934:为 $.fn.animate 实现 deferreds(延迟对象)
  • #7974:清理 effects.js 文件以提高性能并减少文件大小
  • #8099:SPAN 元素在 show() 显示时变为块级元素
  • #8101:在可用时,使用 requestAnimationFrame 代替 setInterval 进行动画

事件

  • #5884:嵌套时 live mouseenter/mouseleave 事件无法按预期触发
  • #6514:mouseenter 和 mouseleave 事件无法通过 live 绑定触发
  • #6913:命名空间事件冒泡错误
  • #6993:.bind() 和 .one() 不允许将函数作为数据
  • #7071:在 IE 中访问 VML 元素的 ‘type’ 属性失败
  • #7883:.delegate(和 .live)应该接受 false 作为 fn 参数,就像 .bind 一样
  • #8018:对跨域 (i)frame 的 frameElement 的不安全访问导致错误
  • #8272:jQuery 吞没了纯 JS 对象事件处理程序中的异常
  • #8712:自定义事件不会冒泡到 window
  • #8732:IE9 focusin/focusout 的特征检测不正确
  • #8753:jQuery 1.6:jQuery.Event 构造函数支持设置属性
  • #8755:在 IE6、7、8 上页面卸载时绑定到 beforeunload 会引发错误
  • #8777:jQuery 1.6:undelegate() 接受自定义命名空间事件
  • #8788:重组 jQuery.event.trigger 以使用循环代替递归
  • #8790:优化非附加事件,例如数据事件
  • #8803:jQuery.holdReady() 方法

操作

  • #1954:val() 在 IE 中返回按钮元素的 innerHTML
  • #6180:jQuery.clean 不应触碰非 text/javascript 类型的 script 标签
  • #7623:replaceWith 中抛出异常
  • #7885:jQuery .offset 在当前偏移量为浮点数时无法正常工作(在 Firefox 中是可能的)
  • #8060:在断开连接的复选框上设置 checked 为 true,在附加到 DOM 后不会保留
  • #8500:单选按钮和复选框在 IE 中包装后会恢复到默认(HTML)状态

其他

  • #8203:删除不必要的“someVar = null;”
  • #8851:在源代码和测试中用双引号包装字符串

Offset

  • #7931:scrollTop 和 scrollLeft setter 在对空 jQuery 对象调用时返回 null

选择器

  • #3685:选择器在具有名为“name”的元素的表单上失败
  • #4321:$(“#”) 返回 undefined
  • #8105::focus 选择器过滤器

Traversing

  • #2773:$.fn.is 和 $.fn.not 应该接受 DOM 元素和 jQuery 集合
  • #5712:允许 jQuery.fn.is 接受一个函数
  • #6912:$().add(selectElement) 添加 option 子元素而不是
  • #7369:$(‘<div>ff</div>’).closest(‘[attr]’); 在所有浏览器中引发异常
  • #8609:.find(” “) 的结果是 undefined

官方插件:路线图的变化

发布于 作者

仅仅六个月前,我们宣布采用微软主要开发的三个插件——模板、数据链接和全球化——作为官方插件,按照 jQuery 项目的标准进行开发和支持。今天,我们想借此机会分享我们在此期间的经验,并宣布对这些以及 jQuery 的所有“官方插件”的路线图进行更改。

一直没有专门的 jQuery 团队来支持官方插件。在采用微软的贡献之前,项目支持的插件——颜色、缓动、bgiframe、鼠标滚轮、元数据和 Cookie——都是简单、有效且用于实现特定实用目的的插件。它们需要很少的维护,从一个 jQuery 版本到另一个版本都稳定地运行,几乎不需要任何麻烦。最近,当我们注意到对这三个新插件的提问有所增加时,我们意识到存在脱节。尽管微软继续对 Beta 版本进行开发,但计划与微软合作并采用其工作的 jQuery 子团队从未成立。

随着需求的增长,基于 Beta 版本的存在以及帖子中做出的承诺,我们感受到了骚动、困惑和困惑的呼喊:“我以为模板将在 1.5 中?”由于您的担忧和我们的担忧,我们决定完全取消官方插件的概念。这既是一种语义上的变化,也是一种象征性的变化,但这是它的实际影响

许多最初支持的 jQuery 插件(颜色、缓动和鼠标滚轮)将继续由 jQuery Core 开发团队支持和维护。元数据插件将被弃用,取而代之的是 jQuery 1.4.3 及更高版本提供的类似功能。 Cookie 插件 将继续由 Klaus Hartl 维护。

jQuery UI 项目将接管对其当前或未来有依赖关系的插件:模板、全球化和 bgiframe。jQuery UI 团队计划从头开始重新开发模板和全球化,从 UI 插件的正常流程开始:协作开发规范。虽然有些人可能会认为这是一个挫折,考虑到当前 jquery-tmpl 插件的现有进展,但实际上这是一个与社区(包括微软)合作的机会,以开发一种有效且灵活的实现。微软一直在开发的“官方插件”一直处于 Beta 状态,会发生变化,并且 Beta 2 版本计划进行重大修改,但我们认识到(并感谢)那些已经参与并开始在您的应用程序中试验和使用它们的人。UI 团队仍在 模板 和全球化插件的早期规划阶段,我们邀请您访问 规划 Wiki 并分享您对开发的想法。

微软将继续独立开发和支持数据链接插件,并将负责托管现有插件的文档。 然而,在短期内,我们将保留 api.jquery.com 上的这些插件的文档,以便为任何需要它的人提供参考。有关微软对数据链接的计划,请阅读 他们的官方插件更新。我们重视微软对 jQuery 的持续贡献,为许多努力提供开发人员时间和财政支持,包括 jQuery UI Grid 和 jQuery 会议。

我们意识到这些细节中的一些可能看起来正在发生变化或仅仅是组织上的变化,但我们知道重要的是在这些变化发生时告诉社区,以便您能够尽快为您的应用程序做出最佳决策。我们希望您理解我们不得不做出这些改变,并鼓励您参与进来并帮助我们推进这些重要的项目!

附录:为什么模板没有包含在 1.5 中?

虽然我们最初宣布 jquery-tmpl 插件将包含在 jQuery Core 的 1.5 版本中,但该插件与今天一样,仍然处于 Beta 1 阶段。因此,去年 12 月,当我们需要真正评估 1.5 的新功能时,它并没有真正准备好包含在内。鉴于我们上面解释的内容,我们希望明确的是,我们不计划在不久的将来将模板直接包含在 Core 中。jQuery UI 模板插件将是一个独立的插件,不依赖于 jQuery UI 的任何其他部分,并将成为项目“官方”支持的唯一模板解决方案,当然,jQuery 将继续与任何输出良好、旧式 HTML 字符串的 JavaScript 模板引擎一起工作。

jQuery 1.6 Beta 1 发布

发布于 作者

我们正在接近 jQuery 1.6 的完成!我们希望发布一个 Beta 版本,以便每个人都可以开始在他们的应用程序中测试代码,确保没有重大问题。

jQuery 1.6 Beta 1

您可以从 jQuery CDN 获取代码

您可以帮助我们,将这段代码放入您现有的应用程序中,并告知我们是否有任何功能不再正常工作。请 提交错误报告,并务必说明您正在测试 jQuery 1.6 Beta 1。

我们希望鼓励社区中的每个人尝试 参与 jQuery 核心的贡献。我们已经建立了一个 完整页面,专门介绍如何更多地参与团队工作。团队随时准备帮助您帮助我们!

jQuery 1.6 Beta 1 变更日志

1.6 版本的当前变更日志。

  • #6782 优化 innerHTML 的正则表达式,以便更多 html 片段可以使用更快速的方法。
  • #7328 在获取 data- 属性时,根据 W3C HTML5 规范,对嵌入的破折号进行处理。
  • #4146 修复输入框的 width/height 不一致问题。
  • #7345 为 .css() 添加对显式/相对字符串值的支持。
  • #7783 修复 $.proxy 以像 (并使用) Function.prototype.bind 一样工作
  • #8753 允许在 jQuery.Event 对象上显式定义特殊属性。
  • #7587 绕过 $.parseJSON 上的正则表达式过滤器,并在 window.JSON.parse 可用时使用本机抛出的异常。
  • #8150 修复在 IE6/7 中删除 width 和 height 属性时,将其设置为 "" 实际上设置为 0 而不是 auto 的问题。
  • #6562 修复当 DOM 节点具有 ID 为“target”并且您尝试设置目标时,它会失败的问题。
  • #8744 确保 script transport abort 方法即使存在 readyState 也能删除 script 标签。
  • #8712 将自定义事件冒泡到 window,当它们被触发时。
  • #8635 修复 Firefox 中的一个未捕获的异常,并删除不必要的“手动”垃圾回收。
  • #8568 修复 live 事件回调在 event liveHandler 函数中可能失序的问题。
  • #8417 禁用 $.ajax() JSON POST 的 JSONP 替换。
  • #8099 修复 SPAN 元素在 show() 上变为块级元素的问题。
  • #8593 修复当您有一个 ID 为“target”的 DOM 节点,并且您附加了一个通过 jQuery 的单独处理程序时,DOM 0 事件处理程序被调用两次的问题
  • #8402 修复在实现 window.getComputedStyle 的浏览器中完全忽略 jQuery.css() 中的“fixed property”的问题。这使得 jQuery.cssProps 的实现更加通用。
  • #8401#8403 修复 jQuery “推翻” IE 过滤器的问题,在设置不透明度时。
  • #7071 修复访问 VML 元素上的“type”属性在 IE 上失败的问题
  • #4321 修复在 Opera 9.6 上,$(“#”) 返回“undefined”并抛出异常的问题。
  • #7883 就像 .bind 一样,.delegate(和 .live)现在接受 false 作为 function(){return false;} 的快捷方式。
  • #2773 $.fn.is 和 $.fn.not 现在接受 DOM 元素和 jQuery 集合。
  • #8777 undelegate() 现在接受自定义命名空间事件。
  • #3116 .attr() 现在也适用于 SVG 规范的只读接口。
  • #8732 更改 focusin 事件支持的功能检测,以便 IE9 不会产生重复事件。
  • #7369 现在可以在具有属性的断开连接的节点上使用 .closest()。
  • #4366 修复在 IE 中将 document.styleSheets 传递给 $.each 时,$.each 失败的问题。
  • #7931 纠正了当在空 jQuery 对象上调用 $.fn.scrollTop 和 $.fn.scrollLeft setter 时返回 null 的问题。
  • #8101 现在,当可用时,我们使用 requestAnimationFrame 代替 setInterval 进行动画处理
  • #8018 修复了对 frameElement 的不安全访问导致跨域 (i)frame 中出现错误的问题
  • #6180 jQuery.clean 不再影响或修改非 text/javascript 类型的 script 标签
  • #3685 纠正了之前在选择具有名为“name”的元素的表单时发生的失败
  • #8790 对于触发的事件不是本机事件(即不应具有内联处理程序)的情况,我们应该立即退出以优化性能
  • #8814 修复了 core.js 中一个小的错误,我们不需要在 fallback inArray 定义中检查 indexOf。
  • #7472#3113 修复了表单中属性名称与属性类型(例如,id、name 等)共享相同名称时发生冲突的问题
  • #7054 确保事件处理程序中的 DOM 元素引用通过 cleanData 被删除,以避免 IE6/7/8 内存泄漏。
  • #8418 修复了 attr(“name”,”value”) 在 IE 7 中无法设置 name 属性值的问题
  • #7996 修复了 Safari 5.0.3 在尝试使用 jQuery 的 .attr() 在 script 标签上访问名为“event”的属性时出现的问题。
  • #8772 修复了 IE9 在处理不支持的输入类型(例如“range”)时无法正常处理的问题。
  • #4283 作为 .attr() 重写的一部分,false 将删除布尔属性,例如 checked。
  • #8699 .attr() 不再返回未找到属性时的 -1,而是返回 undefined。
  • #6837 纠正了 IE 在表单重置后无法返回 select 中默认/第一个项目的值,而是返回空字符串的问题
  • #4464 修复了 IE 无法获取分离的 IMG 元素的 width 属性的问题
  • #7485 修复了选择器无法返回所有具有该属性的元素,即使在使用 attr() 方法检查时返回了值的不一致问题。