的W3C文档对象模型事件规范在 _1.3.1。 事件注册接口_指出,
handleEventEventListener中没有返回值:
handleEvent每当发生事件类型为注册了EventListener接口的事件时,都会调用此方法。[…] 没有返回值
根据 _1.2.4。 事件取消_文档还指出
取消是通过调用Event的preventDefault方法来完成的。如果一个或多个EventListener在事件流的任何阶段调用preventDefault,则默认操作将被取消。
这应该阻止您使用在任何浏览器中使用返回true / false可能产生的任何影响
event.preventDefault()。
更新资料
HTML5规范实际上指定了如何对待不同的返回值。HTML规范的7.1.5.1节规定:
如果返回值是WebIDL布尔值false,则取消该事件。
除了“ mouseover”事件以外的所有事件。
结论
我仍然建议
event.preventDefault()在大多数项目中使用,因为您将与旧规范兼容,从而与旧版浏览器兼容。仅当您只需要支持最新的浏览器时,返回false即可取消。



