Avatar ·

event.preventDefault() 与 JavaScript 事件处理中的 return false

大家好!我开始学习 JavaScript 和 jQuery,遇到了一个令人困惑的情况。当我想取消浏览器的默认行为(例如链接跳转或表单提交)时,我看到两种方法:可以调用 `event.preventDefault()`,或者只需在处理程序末尾写 `return false`。 例如,我有这样一个表单: ```html
``` 我写了一个处理程序: ```javascript document.getElementById('myForm').addEventListener('submit', function(event) { // 数据验证... event.preventDefault(); }); ``` 但在 jQuery 中,我经常看到这样的代码: ```javascript $('#myForm').on('submit', function() { // 数据验证... return false; }); ``` 看起来两者做的是同一件事——表单不会提交。但我注意到,如果我在纯 JavaScript(没有 jQuery)中使用 `return false`,它不起作用。而在 jQuery 中却有效。 那么区别到底在哪里呢?