首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >e.preventDefault()诉preventDefault(e)

e.preventDefault()诉preventDefault(e)
EN

Stack Overflow用户
提问于 2014-08-11 04:59:46
回答 2查看 50关注 0票数 0

我只看到下面的代码here

代码语言:javascript
复制
function wheel(e) {
  preventDefault(e);
}

在此之前,我已经习惯于这样使用:

代码语言:javascript
复制
function wheel(e) {
  e.preventDefault();
}

那么,这两者有什么不同?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-11 05:02:15

区别在于,第一个是语法错误,除非您定义了一个名为preventDefault()的函数,该函数执行以下操作

代码语言:javascript
复制
function preventDefault(e) {
    e.preventDefault();
}

一点意义都没有。

event.preventDefault是存在于事件对象上的本机函数。

票数 1
EN

Stack Overflow用户

发布于 2014-08-11 05:13:32

在包含的link to the post中,还有一个额外的函数:

代码语言:javascript
复制
function preventDefault(e) {
    e = e || window.event;
    if (e.preventDefault)
        e.preventDefault();
e.returnValue = false;  
}

这个函数是一个用户定义的函数,它是一个阻塞代码,只有当本机函数存在于传入的对象上时,才会尝试触发它。这大概是为了使您可以尝试在各种匿名对象上使用该函数,而不必先检查它们的类型。它还清除可能存在于对象上的任何returnValue,而本机函数不这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25236095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档