jquery-migrate是否在加载或运行时找到所有“错误”?

时间:2019-05-18 02:27:01

标签: jquery jquery-migrate

如果我要升级jquery,并且我使用jquery-migrate在折旧的代码上给我警告,我是否需要行使页面上的所有功能以捕获所有要升级的内容,或者是否足以加载每个页面并查看控制台日志是否显示错误?

我猜并希望是后者,因为不会在运行时生成脚本或其他奇特的想法来使javascript在加载后进行更改。

1 个答案:

答案 0 :(得分:1)

无论何时调用不推荐使用的函数,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())。 / p>

  • 如果您随后单击按钮,则会看到一个新警告,表示您不能使用focus的简写形式(需要使用.trigger())。

  • >

如您所见,页面加载时不会显示第二个错误,因此您需要测试所有功能。