Na jakiej podstawie czek if (document.addEventListener)
zwraca false
? Czy istnieje sposób, aby to zmienić?dlaczego można sprawdzić, czy (document.addEventListener) zwraca false
Odpowiedz
Zwraca wartość false (chociaż nie jest to faktycznie false
), jeśli nie jest zdefiniowana. Jest to standardowy test feature (AKA object) detection.
Można to zmienić, wprowadzając własną wersję. Zazwyczaj używa się tego w funkcji opakowania z urządzeniem } else {
z obsługą specyficzną dla IE.
if (document.addEventListener)
ocenia na false
, jeśli nie ma metody addEventListener
w document
. Zazwyczaj sprawdza się, czy można użyć tej metody do dołączenia zdarzenia do elementu DOM (działa w większości przeglądarek z wyjątkiem IE).
Czy istnieje sposób, aby to zmienić?
To pytanie nie do końca rozumiem. Prawdopodobnie chcesz coś takiego jak IE. Naprawdę nie można dodać metody addEventListener
do dokumentu (no, może, ale to nie ma sensu).
Jeśli ten fragment kodu zwraca false
, oznacza to, że właściwość addEventListener
metoda nie jest wspieranie przez przeglądarkę. To case for Internet Explorer, gdzie attachEvent
jest używany zamiast:
if (document.addEventListener){
document.addEventListener(...);
} else if (document.attachEvent){
document.attachEvent(...);
}
- 1. Dlaczego os.path.isfile zwraca false?
- 2. Dlaczego String.Equals zwraca wartość false?
- 3. Dlaczego IsDisposed zwraca false po wywołaniu Dispose()?
- 4. Dlaczego wartość Integer.respond_to? (: Even?) Zwraca wartość false?
- 5. Immutable.Set.contains zwraca false
- 6. ScrollViewer.ChangeView zwraca false
- 7. PHP file_get_contents zwraca false
- 8. Kiedy ThreadPool.QueueUserWorkItem zwraca false
- 9. curl_exec() zawsze zwraca false
- 10. Poczta zwraca wartość false
- 11. PHP in_array() zawsze zwraca false
- 12. Kiedy mysql_query zwraca wartość false
- 13. Dlaczego self.class === MyClass zwraca false, a self.class == MyClass zwraca wartość true?
- 14. X509Certificate2.Verify() zwraca false zawsze
- 15. Dlaczego mój model szkieletowy maChanged() zawsze zwraca false?
- 16. PHP defined() dlaczego zwraca false, nawet jeśli stała jest zdefiniowana?
- 17. Dlaczego typeof 1 === 1 zwraca false zamiast logicznego
- 18. TryParseExact zwraca wartość false, ale nie wiem, dlaczego
- 19. os.path.isdir() zwraca False, nawet jeśli istnieje folder
- 20. Kiedy commit Androida SharedPreferences() zwraca wartość false?
- 21. java file.delete() zwraca false ale file.exists() zwraca true
- 22. ItemContainerGenerator.ContainerFromItem() zwraca null podczas VirtualizingStackPanel.IsVirtualizing = "False"
- 23. Dlaczego $ false -eq "" prawda?
- 24. Reszta ramy serializer zawsze zwraca False dla is_valid
- 25. "aaaa" .StartsWith ("aaa") zwraca wartość false
- 26. if ((123/1000)> 0) zwraca false
- 27. Android BluetoothSocket.isConnected zawsze zwraca wartość false
- 28. .post wewnątrz jQuery.validator.addMethod zawsze zwraca wartość false
- 29. File.exists() zwraca wartość false, gdy plik istnieje
- 30. PHP is_writable() zwraca wartość true, ale file_put_contents() zwraca wartość false
Jeśli używasz przeglądarki Internet Explorer będzie return false, ponieważ ma swoją własną metodę. –