jQuery 3.4.1:在 IE 中触发焦点事件,并在 iOS 10 中查找根元素
大家好!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 请求的独立库之一。而且,对于 Web 动画,使用 CSS 和类操作的组合通常更简单。除了包含 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 中修复的问题 | 所有更改