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

属性

  • #3786: removeAttr 应该使用 jQuery.props
  • #4283: .attr(‘checked’) & XHTML 1.1 严格
  • #4464: IE 无法获取分离的 IMG 元素的宽度属性
  • #4978: jQuery.prop 缺少 cellpadding?
  • #5413: 标签“img”的 width/height 属性为零(IE)
  • #6562: 使用 .attr() 设置 ‘target’ 属性,节点具有 ID ‘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 而不是 undefined
  • #8772: 使用 .attr() 设置输入类型 ‘range’ 会在 IE9 中导致脚本错误

构建

  • #8854: 缩小器过程中的错误

核心

  • #2616: 更好的 jQuery.map
  • #3116: .attr 不适用于 SVG IDLs
  • #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’ ) 访问吗?

效果

  • #7917: .animate() 在与大量元素一起使用时没有“同步”
  • #7934: $.fn.animate 实现 deferreds
  • #7974: 清理 effects.js 以提高性能并减少文件大小
  • #8099: SPAN 元素在 show() 时变为块级
  • #8101: 在可用时使用 requestAnimationFrame 而不是 setInterval 来进行动画

事件

  • #5884: live mouseenter/mouseleave 事件在嵌套时没有按预期触发
  • #6514: 如果通过 live 绑定,则 Mouseenter 和 mouseleave 事件无法触发
  • #6913: 命名空间事件冒泡错误
  • #6993: .bind() 和 .one() 不允许使用函数作为数据
  • #7071: 在 IE 上访问 VML 元素的 ‘type’ 属性失败
  • #7883: .delegate(和 .live)应该接受 false 作为 fn 参数,就像 .bind 一样
  • #8018: 对 frameElement 的不安全访问会导致跨域 (i)frame 中的错误
  • #8272: 纯 JS 对象事件处理程序中的异常被 jQuery 吞并
  • #8712: 自定义事件不会冒泡到窗口
  • #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 的脚本标签
  • #7623: replaceWith 中抛出异常
  • #7885: jQuery .offset 在当前偏移量为浮点数(在 FireFox 中可能出现)时不能正常工作。
  • #8060: 将 checked 设置为 true 对断开的复选框不起作用,在附加到 DOM 后也不会延续。
  • #8500: 单选按钮和复选框在 IE 中被包装后会恢复到默认(HTML)状态

杂项

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

偏移量

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

选择器

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

遍历

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

官方插件:路线图的变更

发布于 作者

仅仅六个月前,我们宣布我们正在采用三个主要由微软开发的插件——模板、数据链接和全球化——作为官方插件,并根据 jQuery 项目的标准进行开发和支持。今天,我们想借此机会分享我们在此期间学到的知识,并宣布对这些插件以及 jQuery 的其他“官方插件”进行路线调整。

从来没有专门的 jQuery 团队来支持官方插件。在采用微软的贡献之前,jQuery 项目支持的插件——颜色、缓动、bgiframe、鼠标滚轮、元数据和 Cookie——都是非常简单、有效的插件,用于实现特定的实用目的。它们需要很少的维护,从 jQuery 核心版本的版本到版本,默默地提供服务,几乎没有麻烦。最近几个月,当我们注意到与这三个新插件相关的疑问有所增加时,我们意识到存在脱节。尽管微软对插件的测试版仍在继续开发,但计划中的 jQuery 子团队本应该与微软合作并采用他们的工作,却从未组建。

随着需求的增长,基于插件测试版的存在以及在文章中做出的承诺,我们感受到了躁动、困惑和困惑的感叹:“我以为模板将在 1.5 中发布!” 由于您的担忧和我们的担忧,我们决定完全取消官方插件的概念。这是一个语义和象征性的区别,但这是它的实际影响

许多最初支持的 jQuery 插件(Color、Easing 和 Mousewheel)将继续由 jQuery 核心开发团队支持和维护。元数据插件将被弃用,转而使用 jQuery 1.4.3 及更高版本提供的类似功能。该 Cookie 插件 将继续由 Klaus Hartl 维护。

jQuery UI 项目将接管其当前或未来依赖的插件:Templating、Globalization 和 bgiframe。jQuery UI 团队计划从头开始开发模板和全球化,从 UI 插件的正常流程开始:在规范上进行协作开发。虽然有些人可能认为这是倒退,因为当前的 jquery-tmpl 插件已经取得了进展,但这实际上是我们与社区(包括微软)共同努力开发一个有效且灵活的实现的机会。“官方插件”微软一直在开发,一直处于测试阶段,可能会发生变化,并且计划在 Beta 2 版本中进行重大修改,但我们认识到(并感谢)你们中那些已经开始尝试并将它们应用到你们应用程序中的人。UI 团队仍在 模板 和全球化插件的早期规划阶段,我们邀请您访问 规划维基 并分享您对开发的意见。

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

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

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

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

jQuery 1.6 Beta 1 发布

发布日期 作者

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

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 修复了输入元素上宽度/高度的不一致问题。
  • #7345 添加了对 .css() 中显式/相对字符串值的 支持。
  • #7783 修复了 $.proxy,使其像 (并使用) Function.prototype.bind 一样工作
  • #8753 允许在 jQuery.Event 对象上明确定义特殊属性。
  • #7587 如果 window.JSON.parse 可用,则绕过 $.parseJSON 上的正则表达式过滤器,并使用原生抛出的异常。
  • #8150 修复了一个问题,即在 IE6/7 中删除宽度和高度属性时,设置为“”实际上会设置为 0 而不是 auto。
  • #6562 修复了一个问题,即如果您有一个 DOM 节点,其 ID 为“target”,并且您尝试设置一个目标,则会失败。
  • #8744 确保脚本传输中止方法实际上即使存在 readyState 也删除脚本标签。
  • #8712 当自定义事件被触发时,将其冒泡到窗口。
  • #8635 修复了 Firefox 中的未捕获异常,并删除了不必要的“手动”垃圾回收。
  • #8568 修复了一个问题,即在 liveHandler 函数中,实时事件回调可能会乱序。
  • #8417 禁用 $.ajax() JSON POST 的 JSONP 替换。
  • #8099 修复了一个问题,即 SPAN 元素在 show() 上变为块级元素。
  • #8593 修复了一个问题,即当通过 jQuery 附加单独的处理程序时,DOM 0 事件处理程序会被调用两次
  • #8402 修复了一个问题,即实现了 window.getComputedStyle 的浏览器完全忽略 jQuery.css() 中的“fixed 属性”。这使得 jQuery.cssProps 的实现更加通用。
  • #8401#8403 .修复了 jQuery 在设置不透明度时“推倒”其他 IE 过滤器的问题
  • #7071 纠正了在 IE 上访问 VML 元素的“type”属性会失败的问题
  • #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 修复了一个问题,即 $.each 在 IE 中传递 document.styleSheets 时会失败。
  • #7931 纠正了一个问题,即当在空 jQuery 对象上调用时,$.fn.scrollTop 和 $.fn.scrollLeft 设置程序都返回 null。
  • #8101 我们现在在它可用时使用 requestAnimationFrame 而不是 setInterval 来进行动画
  • #8018 修复了一个问题,即对 frameElement 的不安全访问会导致跨域 (i)frame 中的错误
  • #6180 jQuery.clean 不再影响或修改类型不是 text/javascript 的脚本标签
  • #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 中无法设置名称属性值
  • #7996 修复了在 Safari 5.0.3 中,尝试使用 jQuery 的 .attr() 在 script 标签上访问名为“event”的属性时出现的错误。
  • #8772 修复了一个问题,即 IE9 无法优雅地处理设置不支持的输入类型,例如“range”。
  • #4283 作为 .attr() 重写的一部分,false 将删除布尔属性,例如 checked。
  • #8699 .attr() 现在不再在缺少属性时返回 -1,而是返回 undefined。
  • #6837 纠正了 IE 无法在表单重置后返回选择中默认/第一个项目的正确值的问题,而是返回空字符串
  • #4464 修复了 IE 无法获取分离的 IMG 元素的 width 属性的错误
  • #7485 修复了不一致性,即选择器不返回所有具有该属性的元素,即使在使用 attr() 方法检查后它返回一个值。