Aufgrund der fehlerhaften Arbeitsweise von typeof nutze ich folgende Funktionen:
function isObject(o) {
return (typeof o === 'object' && !(o instanceof Array) && o !== null);
}
function isArray(a) {
return (typeof a === 'object' && a instanceof Array);
}
Warum ist das `typeof a` in `isArray()` notwendig? Meiner Meinung nach könnte man auch `typeof o === 'object' && o !== null` zu `o instanceof Object` zusammenfassen.
> Funktionen, um events hinzuzufügen / entfernen (glaube von molily im forum gepostet, leicht angepasst; habe leider keinen Thread-Verweis gespeichert)
> [...]
Habe ich auch (fast genauso) im Einsatz als Alternative zur `capture()`-Funktion. Diese ist vom Performance-Standpunkt aus ein Alptraum, aber einfach zu praktisch, um darauf zu verzichten. Statt auf das Laden des DOM-Baums zu warten, passende Elemente zu suchen und jedem einzeln Ereignis-Handler hinzuzufügen, erlaubt es `capture()`, eine kleine Testfunktion zu schreiben und den Handler einmalig global bekanntzumachen.
> Ladefunktion, die eine Funktion auszuführt, sobald das Dokument verfügbar ist oder auf window.onload zurückfällt
> [...]
Siehe `onready()`. Ich habe auch eine Version, die zunächst versucht, ein 'DOMContentLoaded' Ereignis zu setzen und im IE auf 'onreadystatechange' zurückgreift. Das garantiert, dass die Funktionen /vor/ allen 'onload'-Handlern ausgeführt werden. In der Praxis war das aber nicht wirklich nötig, daher die verkürzte Variante.
> Inhalt des Value-Attributes ermitteln
> [...]
Über diese Problematik bin ich bisher noch nicht gestolpert. Gut zu wissen!
Christoph