如果我要升级 jquery,并且我使用 jquery-migrate 给我关于折旧代码的警告,我是否需要行使页面上的所有功能来捕获所有要升级的东西,或者是否足以加载每个页面并查看是否控制台日志显示错误?
我想并希望后者,因为没有动态生成脚本或其他奇特的想法来使加载后的 javascript 发生变化。
如果我要升级 jquery,并且我使用 jquery-migrate 给我关于折旧代码的警告,我是否需要行使页面上的所有功能来捕获所有要升级的东西,或者是否足以加载每个页面并查看是否控制台日志显示错误?
我想并希望后者,因为没有动态生成脚本或其他奇特的想法来使加载后的 javascript 发生变化。
每当调用不推荐使用的函数时,jquery-migrate 插件都会触发警告。因此,有必要测试页面上的所有功能:仅加载页面不会显示所有错误。
我做了一个简单的例子来说明这一点:
// should be $('#test').on('click', ...
$('#test').click(function() {
$('#test2').focus(); // should be $('#test').trigger('focus')
})
$('#test2').on('focus', function() {
$(this).val('from js');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-migrate/3.1.0/jquery-migrate.js"></script>
<button id="test">Initial</button>
<input id="test2" />
如果您运行该代码段,您将在页面加载时看到一个错误,警告您不能使用click
速记(您需要使用.on()
)。
如果您然后单击该按钮,您将看到一个新警告,说明您不能使用focus
速记(您需要 user .trigger()
)。
如您所见,页面加载时没有显示第二个错误,因此您需要测试所有功能。