支票凭什么检查if (document.addEventListener)
返回false
?有没有办法可以改变这种情况?为什么要检查if(document.addEventListener)是否返回false
8
A
回答
1
如果未定义,它将返回一个错误值(虽然实际上不是false
)。
这是一个标准feature (AKA object) detection测试。
你可以通过实现你自己的版本来改变它。更通常的情况下,你将在包装函数中使用这个函数,} else {
具有IE特定的处理。
7
if (document.addEventListener)
评估为false
如果document
中没有addEventListener
方法。通常会执行此检查以查看是否可以使用此方法将事件附加到DOM元素(适用于除IE以外的大多数浏览器)。
有没有办法改变这种情况?
这个问题我不完全明白。可能你想为IE浏览器提供类似document.attachEvent('onload', callback);
的内容。你不能真的添加addEventListener
方法来记录文件(也许你可以,但它没有任何意义)。
2
如果该代码段返回false
,这意味着addEventListener
方法属性不是由浏览器支持。这是case for Internet Explorer,其中attachEvent
而是使用:
if (document.addEventListener){
document.addEventListener(...);
} else if (document.attachEvent){
document.attachEvent(...);
}
相关问题
- 1. 为什么if(!$ _ SESSION ['dbname']){}返回false?
- 2. PYTHON为什么我的if语句总是返回false
- 3. 为什么if语句总是返回false
- 4. 为什么是我最后的条件返回false if语句
- 5. 为什么List.contain返回false
- 6. 为什么string.contains()返回false?
- 7. 为什么transaction.wasCommitted()返回false?
- 8. Properties.containsKey返回false,为什么?
- 9. 为什么!document.body返回False?
- 10. 为什么String.Equals返回false?
- 11. 为什么QSortFilterProxyModel.setData()返回false?
- 12. 为什么System.Type.IsPublic返回false?
- 13. 为什么IsUTF8String返回false?
- 14. 为什么is_array()返回false?
- 15. ABGroupAddMember返回false。为什么?
- 16. 为什么file_exists总是返回false?
- 17. 为什么QFile :: canReadLine()总是返回false?
- 18. 为什么程序总是返回'false'?
- 19. 为什么IsInRole总是返回false?
- 20. 为什么$ result总是返回false?
- 21. 为什么Membership.ValidateUser()总是返回false?
- 22. 为什么IsNewRow总是返回false?
- 23. 在MySQL中,为什么这个IF返回false?
- 24. 日期检查总是返回false
- 25. MD5密码检查总是返回false?
- 26. PHP检查属性是否存在 - 总是返回false
- 27. 为什么不为空(0)返回false?
- 28. 为什么scandir()为目录返回false?
- 29. jquery的返回值是什么:是否检查?
- 30. 如何检查是否返回为空?
如果您正在使用Internet Explorer将返回假的,因为它有自己的方法。 – 2013-01-08 06:12:41