支票if (document.addEventListener)
以什么为基础返回false
?我们有办法改变这个吗?
答案 0 :(得分:8)
if (document.addEventListener)
中没有false
方法, addEventListener
会评估为document
。通常进行此检查以查看是否可以使用此方法将事件附加到DOM元素(适用于除IE之外的大多数浏览器)。
我们有办法改变这个吗?
这个问题我不太明白。也许你想要IE之类的document.attachEvent('onload', callback);
之类的东西。你无法真正将addEventListener
方法添加到文档中(好吧,也许你可以,但它没有意义)。
答案 1 :(得分:3)
如果此代码段返回false
,则表示浏览器不支持addEventListener
方法属性。这是case for Internet Explorer,而使用attachEvent
代替:
if (document.addEventListener){
document.addEventListener(...);
} else if (document.attachEvent){
document.attachEvent(...);
}
答案 2 :(得分:1)
如果未定义,则返回false值(尽管实际上不是false
)。
这是一项标准feature (AKA object) detection测试。
您可以通过实施自己的版本来更改它。更常见的是,你将在包装函数中使用它,} else {
具有IE特定处理。