大家好!jQuery 3.4.0 发布仅仅三周前,但我们收到了一些需要修补发布的错误报告。感谢所有报告问题并帮助我们快速解决问题的人。以下是变更内容
在 IE 中多次触发 focus 或 blur
jQuery 3.4.0 改变了事件处理程序触发原生事件(如 focus
和 blur
)的方式。这些改变导致了一个回归,有时会导致出现一个神秘的错误,以 "saved.shift is not a function"
的形式抛出。现在已修复。
示例
// Error thrown in IE10-11
// after clicking #test-element twice
jQuery("#test-element").click(function() {
jQuery(this).trigger("blur");
});
在 iOS 10.0-10.2 中检查元素附加
在发布 3.4.0 时,我们在 iOS 的多个版本中运行了我们的测试,包括 iOS 10.3,但没有 10.0-10.2。这些版本不支持我们用来确定元素是否附加到 DOM 的原生函数。其他版本的 iOS 没有受到影响。我们添加了一个保护措施,以确保此方法存在,并在必要时回退到其他选项。
使用 AMD 加载 jQuery
jQuery 3.4.0 中添加了一个小模块,该模块使用全局 jQuery 而不是使用 AMD 加载的本地 jQuery。这导致使用 AMD 加载时出现 "jQuery is undefined"
错误,但现在应该已修复。
升级
如果您从 jQuery 3.0+ 升级,则不应该有任何兼容性问题。如果您尚未升级到 jQuery 3+,请查看3.0 升级指南。jQuery Migrate 3.0 插件 将帮助您识别代码中的兼容性问题。
请尝试使用此新版本并告知我们您遇到的任何问题。
下载
您可以从 jQuery CDN 获取文件,或直接链接到它们
https://code.jqueryjs.cn/jquery-3.4.1.js
https://code.jqueryjs.cn/jquery-3.4.1.min.js
您也可以从 npm 获取此版本
npm install jquery@3.4.1
精简版本
有时您不需要 ajax,或者您更喜欢使用专注于 ajax 请求的众多独立库之一。而且通常使用 CSS 和类操作来进行 Web 动画更简单。除了包含 ajax 和 effects 模块的常规版本的 jQuery 之外,我们还发布了一个“精简”版本,它排除了这些模块。如今 jQuery 的大小很少会成为负载性能问题,但精简版本比常规版本压缩后小约 6k 字节。这些文件也可以在 npm 包和 CDN 上获得
https://code.jqueryjs.cn/jquery-3.4.1.slim.js
https://code.jqueryjs.cn/jquery-3.4.1.slim.min.js
这些更新已经在 npm 和 Bower 上作为当前版本提供。有关获取 jQuery 的所有方法的信息,请访问https://jqueryjs.cn/download/。公共 CDN 今天会收到它们的副本,请给他们几天时间来发布文件。如果您急于快速入门,请使用我们 CDN 上的文件,直到它们有机会更新。
感谢
感谢所有参与此版本的人,包括提交补丁、报告错误或测试的人,包括Richard Gibson、Michal Golebiowski-Owczarek 和整个 jQuery 团队。
变更日志
GitHub 变更日志: 3.4.1 中修复的问题 | 所有变更