Siechfred: window.onblur & window.onfocus

Beitrag lesen

Tag molily.

Methoden sind in JavaScript nichts anderes als spezielle Eigenschaften des Typs function. Sie verhalten sich in jeder Hinsicht wie Eigenschaften und können auch so angesprochen werden.

Nein, nicht so, wie in dem genannten Kontext.

Wenn eine Methode namens focus beim window-Objekt existiert, kann man über window.focus das entsprechende Function-Objekt ansprechen.

Soweit Zustimmung.

Und also prüfen, ob eine solche Methode existiert. alert(window.focus); geht, if (window.focus) geht also auch. if (window.focus == true) ist identisch.

Ersteres liefert in allen drei Testbrowsern (FF 1.0.7, IE 6.0 und Opera 8.5) das Ergebnis:

function focus() {  
  [native code]  
}

Letzteres funktioniert hier in keinem der Browser wie erwartet. Folgenden Testcode habe ich verwendet:

alert(typeof window.focus); // 'object' im IE, 'function' in FF und Opera  
if(window.focus == true)  
  alert("focus ist true");  
else alert ("focus ist false"); // alle drei landen im else-Zweig

Lediglich if(window.focus) ergibt den Wert true. Dieses Verhalten hatte ich bereits vor meinem ersten Posting beobachtet. Warum das so ist, mag ich für den Moment nicht recherchieren.

Siechfred