Warum könnte eine Überprüfung, ob (document.addEventListener) false zurückgibt

8

Auf welcher Grundlage überprüft if (document.addEventListener) return false ? Können wir das ändern?

    
Miroo 11.10.2010, 15:41
quelle

3 Antworten

7

if (document.addEventListener) wird als false ausgewertet, wenn keine addEventListener -Methode in document vorhanden 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, das 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 method nicht wirklich zum Dokument hinzufügen (naja, vielleicht können Sie das, aber es ergibt keinen Sinn).

Dokumente für addEventListener

    
Nikita Rybak 11.10.2010 15:44
quelle
2

Wenn dieses Codefragment false zurückgibt, bedeutet dies, dass die addEventListener -Methodeneigenschaft vom Browser nicht unterstützt wird. Dies ist der Fall für Internet Explorer , wobei stattdessen attachEvent verwendet wird:

%Vor%     
romaintaz 11.10.2010 15:46
quelle
1

Er gibt einen falschen Wert zurück (obwohl nicht wirklich false ), wenn er nicht definiert ist.

Dies ist ein Standard Feature (AKA-Objekt) Erkennung Test.

Sie können es ändern, indem Sie Ihre eigene Version implementieren. In der Regel werden Sie dies in einer Wrapper-Funktion verwenden, wobei } else { eine spezifische IE-Behandlung hat.

    
Quentin 11.10.2010 15:44
quelle

Tags und Links