我只看到下面的代码here
function wheel(e) {
preventDefault(e);
}在此之前,我已经习惯于这样使用:
function wheel(e) {
e.preventDefault();
}那么,这两者有什么不同?
发布于 2014-08-11 05:02:15
区别在于,第一个是语法错误,除非您定义了一个名为preventDefault()的函数,该函数执行以下操作
function preventDefault(e) {
e.preventDefault();
}一点意义都没有。
event.preventDefault是存在于事件对象上的本机函数。
发布于 2014-08-11 05:13:32
在包含的link to the post中,还有一个额外的函数:
function preventDefault(e) {
e = e || window.event;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
}这个函数是一个用户定义的函数,它是一个阻塞代码,只有当本机函数存在于传入的对象上时,才会尝试触发它。这大概是为了使您可以尝试在各种匿名对象上使用该函数,而不必先检查它们的类型。它还清除可能存在于对象上的任何returnValue,而本机函数不这样做。
https://stackoverflow.com/questions/25236095
复制相似问题