jQuery 3.3版本中.submit()已弃用,求替代方案(官方博客未提及)
jQuery 3.3中
.submit()弃用的替代方案 嘿,这个问题我之前刚好研究过,给你理清楚!
首先明确:jQuery 3.3里被标记为弃用的是不带参数调用.submit()触发表单提交的用法,而用来绑定提交事件的.submit(handler)其实并未被弃用——不过官方更推荐统一用标准事件绑定写法,下面分两种场景说明替代方案:
1. 触发表单提交的替代写法
如果你之前是这么触发表单提交的:
$('form#my-form').submit();
现在请替换成:
$('form#my-form').trigger('submit');
jQuery弃用这类快捷触发方法的原因是为了让API更统一,所有事件触发都通过.trigger()方法实现,减少不同快捷方法带来的认知混淆。
2. 绑定提交事件的推荐写法
虽然绑定事件的.submit(handler)没有被弃用,但官方一直推荐用.on()方法来绑定所有事件,写法更统一,扩展性也更强。比如原来的代码:
$('form#my-form').submit(function(e) { e.preventDefault(); // 自定义提交逻辑 });
可以改成:
$('form#my-form').on('submit', function(e) { e.preventDefault(); // 自定义提交逻辑 });
这种写法和click、change等其他事件的绑定方式保持一致,团队协作时更易理解和维护。
你提到官方博客没提及这个弃用确实有点遗憾,但查看jQuery源码能清晰看到触发分支里的deprecate标记,所以还是建议尽快替换成标准写法,避免后续版本可能的移除。
内容的提问来源于stack exchange,提问作者Renari
相关产品推荐
相关产品推荐

