Auf welcher Basis überprüft if (document.addEventListener)
false
? Können wir das ändern?Warum könnte eine Überprüfung, ob (document.addEventListener) false zurückgibt
Antwort
Es gibt einen falschen Wert zurück (obwohl nicht wirklich false
), wenn es nicht definiert ist.
Dies ist ein Standard feature (AKA object) detection Test.
Sie könnten es ändern, indem Sie Ihre eigene Version implementieren. In der Regel verwenden Sie dies in einer Wrapper-Funktion mit der } else {
mit IE spezifische Handhabung.
if (document.addEventListener)
ausgewertet false
, wenn es in document
keine addEventListener
Methode ist. Diese Überprüfung wird normalerweise durchgeführt, um zu sehen, ob Sie diese Methode verwenden können, um ein Ereignis an ein DOM-Element anzuhängen (funktioniert in den meisten Browsern mit Ausnahme von IE).
Gibt es eine Möglichkeit, dies zu ändern?
Diese Frage verstehe ich nicht vollständig. Wahrscheinlich möchten Sie etwas wie document.attachEvent('onload', callback);
für IE. Sie können addEventListener
Methode nicht wirklich hinzufügen, um zu dokumentieren (gut, möglicherweise können Sie, aber es würde keinen Sinn ergeben).
Ich meine, gibt es irgendetwas, was ich tun kann, um diese Methode zu dem Dokument hinzuzufügen? – Miroo
@Miroo Nein, aber Sie können IE-spezifische Weise verwenden, um Ereignisse zu behandeln. (wie 'onload' in meinem Beispiel) –
und es funktioniert mit mir auf IE9, aber auf einer anderen Anwendung unter Framework 4 – Miroo
Wenn dieser Code-Schnipsel false
zurückgibt, bedeutet dies, dass die addEventListener
Methode Eigenschaft nicht vom Browser unterstützt wird. Dies ist der case for Internet Explorer, wo attachEvent
stattdessen verwendet wird:
if (document.addEventListener){
document.addEventListener(...);
} else if (document.attachEvent){
document.attachEvent(...);
}
- 1. Warum String.Equals false zurückgibt?
- 2. Warum könnte AccountManager.addAccountExplicitely false zurückgeben?
- 3. R: False oder NA, die False zurückgibt
- 4. Überprüfen, ob AlarmManager vorhanden ist und immer false zurückgibt
- 5. RemotingServices.IsObjectOutOfAppDomain, wenn es false zurückgibt?
- 6. Was bedeutet der dritte Parameter (false) in document.addEventListener ("deviceready", OnDeviceReady, false);
- 7. Warum die canPlayFastForward-Methode von AVPlayerItem False zurückgibt?
- 8. regex, die false und true zurückgibt
- 9. Debuggen speichern() false zurückgibt CakePHP 3.0
- 10. Überprüfung, ob eine optionale Protokollmethode implementiert wurde
- 11. JavaDB - Überprüfung, ob eine Datenbank existiert
- 12. Warum ist False == False in [False] zurück True?
- 13. Warum eine Python-Methode nicht zurückgibt?
- 14. Überprüfung, ob ein Java Timer abgebrochen wird
- 15. Einfachere Möglichkeit, dass RegExp.test() false für Nullwerte zurückgibt?
- 16. Warum funktioniert document.addEventListener ('load', function) nicht in einem Skript?
- 17. Wie setze ich eine Variable auf false, wenn mindestens ein Element in einer Schleife false zurückgibt?
- 18. Prüfen, ob ein Array sortiert ist, true oder false zurückgeben
- 19. Schnelle Überprüfung, ob AVAudioPlayer abstürzt
- 20. Überprüfung, ob Datenbankwiederherstellung abgeschlossen ist
- 21. Boolean VB-Ausdruck, der für Integer 1 false zurückgibt
- 22. 10 Können .equals überschrieben werden, sodass a.equals (a) false zurückgibt?
- 23. Warum map.erase Iterator zurückgibt?
- 24. Warum FileSystem.get() zurückgibt com.pepperdata.supervisor.agent.resource.DistributedFileSystemWrapperClassic
- 25. Was passiert, wenn der Ausdruck in einem Übereinstimmungsarm false zurückgibt?
- 26. mysqli_fetch_row() gibt false zurück, wenn mysqli_query() true zurückgibt
- 27. Hörer document.addEventListener (function() {Funktion wie im Beispiel
- 28. Überprüfung, ob eingegebene Koordinaten gültig sind
- 29. Warum Regex immer 1 zurückgibt?
- 30. is_readable() gibt false zurück, während require_once true zurückgibt
Wenn Sie den Internet Explorer verwenden wird es falsch zurück, weil er seine eigene Methode hat. –