我正在开发一个使用 jQuery 2.2.3 的项目,我注意到
jqelem.outerHeight()
函数在此版本中返回 null
。出于测试目的,我已将 jQuery Migrate 3.3.0 添加到我的代码中,并且我注意到 jqelem.outerHeight()
函数现在返回 undefined
而不是 null
。
我的问题是,为什么 jQuery Migrate 插件不修改
outerHeight()
函数的行为以返回 null?
这是我的代码示例:
let jqelem = $("sdfv") // element unavailable
console.log(jqelem.outerHeight()); // returns null in jQuery 2.2.3
// Add jQuery Migrate 3.3.0
console.log(jqelem.outerHeight()); // returns undefined in jQuery 2.2.3 with jQuery Migrate 3.3.0
但是 jQuery 3 中删除的其他函数在旧流程中运行良好,而这则不行 我将不胜感激有关此行为的任何见解或解释。谢谢!
我检查了 jQuery Migrate 文档,但找不到有关此更改的任何信息。如果有人能解释为什么这不返回 null,我将不胜感激
jQuery Migrate 主要旨在帮助您在升级 jQuery 版本时识别和修复已弃用的代码。它不一定将现有函数修改为旧的行为,而是通过恢复或提供警告来帮助管理已弃用或删除的函数。您所看到的
outerHeight()
从 null
到 undefined
的行为变化可能无法通过 jQuery Migrate 直接解决,因为它专注于确保兼容性而不是恢复函数输出。对于像这样的特定行为更改,最好手动调整代码或检查 jQuery Migrate 源以了解任何未记录的调整。