Jquery Migrate 到底修改了什么?已弃用/删除的代码?修改代码?

问题描述 投票:0回答:1

我正在开发一个使用 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,我将不胜感激

javascript jquery jquery-migrate
1个回答
0
投票

jQuery Migrate 主要旨在帮助您在升级 jQuery 版本时识别和修复已弃用的代码。它不一定将现有函数修改为旧的行为,而是通过恢复或提供警告来帮助管理已弃用或删除的函数。您所看到的

outerHeight()
null
undefined
的行为变化可能无法通过 jQuery Migrate 直接解决,因为它专注于确保兼容性而不是恢复函数输出。对于像这样的特定行为更改,最好手动调整代码或检查 jQuery Migrate 源以了解任何未记录的调整。

© www.soinside.com 2019 - 2024. All rights reserved.