e.preventDefault()与return false的区别

665 阅读1分钟

e.preventDefault()与return false的区别

在这几天的前端学习过程中,我发现当我们要阻止事件的默认行为的时候会有两种不同的写法:

  1. event.preventDefault
  2. return false 当时看到这两种写法的时候,我都蒙了,这是什么鬼???

什么鬼

既然都是阻止默认事件触发,怎么会有两种写法呢??? 于是我满怀好奇的去翻阅了一些资料,功夫不负有心人,终于让我找到了这两种写法的区别:

  • 事件处理函数的返回值(return false)只对行内事件attribute的处理函数才有意义; 也就是说如果我们不是通过addEventListener()函数来绑定事件的话,那么要禁止默认事件的话,用的就是return false;

  • 如果使用addEventListener()或者attachEvent()函数来绑定的话,就要使用e.preventDefault()方法或者设置事件对象的returnValue属性来阻止默认事件。 舒服了