Hi,
if (typeof document.activeElement == "undefined" ....
Du verstehst nicht - activeElement ist immer ein Objekt! Ausser wenn es der Browser nicht unterstützt.
Don spielt hier mal wieder den Advocatus Diaboli, und will darauf hinaus, dass obiger Test (natürlich) nicht das gewünschte bringt, wenn man vorher selber mit bspw.
document.activeElement = 4711;
eine solche Eigenschaft angelegt hätte.
Wobei es natürlich auch nicht viel bringen würde, wenn in folgendem ebenso konstruiertem Beispiel
document.activeElement = window.location;
alert(typeof document.activeElement);
dann tatsächlich "object" herauskommt, weil man daraus in der Praxis immer noch keinen sinnvollen Schluss ziehen kann, ob document.activeElement sich nun in dem Sinne verwenden lässt, der beabsichtigt ist.
Man kann JavaScript praktisch im Browser anwenden, und sich dabei seine Kenntnisse über das Vorhandensein bestimmter Objekte bzw. welche Schlüsse man aus dem Nichtvorhandensein ziehen kann, zu Nutze machen - oder man kann darüber stundenlang theoretisch herumphilosophieren; und Dons Steckenpferd scheint in erster Linie letzteres zu sein :-)
MfG ChrisB
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]