为什么可以检查if(document.addEventListener)是否返回false

Mir*_*roo 10 javascript addeventlistener

检查以什么为基础if (document.addEventListener)返回false?有没有办法可以改变这个?

Nik*_*bak 8

if (document.addEventListener)评估false是否没有addEventListener方法document.通常进行此检查以查看是否可以使用此方法将事件附加到DOM元素(适用于除IE之外的大多数浏览器).

有没有办法可以改变这个?
这个问题我不太明白.可能,你想要document.attachEvent('onload', callback);IE之类的东西.你不能真正添加addEventListener文档的方法(好吧,也许你可以,但它没有意义).

addEventListener的文档


Rom*_*las 5

如果此代码片段返回false,则意味着addEventListener浏览器不支持该方法属性。Internet Explorer就是这种情况,attachEvent改为使用:

if (document.addEventListener){  
  document.addEventListener(...);
} else if (document.attachEvent){  
  document.attachEvent(...);  
}
Run Code Online (Sandbox Code Playgroud)


Que*_*tin 2

false如果未定义,它会返回一个假值(尽管实际上不是)。

这是标准特征(又称对象)检测测试。

您可以通过实现您自己的版本来更改它。更常见的是,您将在具有 IE 特定处理的包装函数中使用它} else {