Das Objekt unterstützt diese Eigenschaft oder Methode nicht
MCTimotheus
- javascript
Hallo,
ich hab folgendes kleines Skript:
var deb_werkzeuge_active = false;
function deb_werkzeuge_hide() {
if(deb_werkzeuge_active == false) {
deb_werkzeuge = document.getElementById("deb_werkzeuge");
deb_werkzeuge.style.display = "none";
}
}
und folgenden BODY-Tag:
<body onfocus="deb_werkzeuge_hide();">
und zum Schluss noch folgenden DIV:
<div id="deb_werkzeuge" style="position:absolute; display:none; width:200px; left:0px; top:0px">
Inhalt
</div>
Im Firefox funktioniert dies Einwandfrei, er blendet immer beim onfocus des BODY das kleine DIV aus, allerdings nicht im IE der wirft die Fehlermeldung: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht" und ich kann mir nicht erklären warum ?!
Den Fehler gibts übrigens an dieser Stelle: "deb_werkzeuge = document.getElementById("deb_werkzeuge");"
Danke für eure Ratschläge ...
hi,
deb_werkzeuge = document.getElementById("deb_werkzeuge");
Verwende für die Variable mal einen anderen Namen.
Wenn du ein Element mit der ID "deb_werkzeuge" hast, stellt dir der IE automatisch eine Referenz darauf unter dem Namen deb_werkzeuge zur Verfügung - und deshalb gibt's dann solche Komplikationen.
gruß,
wahsaga
Hallo,
deb_werkzeuge = document.getElementById("deb_werkzeuge");
in Ergänzung zu dem, was wahsaga schon geschrieben hat: wenn Du an irgendeiner Stelle Deines Scripts eine Variable ohne das Schlüsselwort var deklarierst, so bewegst Du Dich im globalen Namensraum (die Variable ist damit eine Eigenschaft des window-Objekts). Und in diesem globalen Namensraum existiert im IE bereits eine Variable namens "deb_werkzeuge" - so wie es wahsaga schon erwähnt.
Dein Problem ist ganz einfach behoben, wenn Du schreibst:
var deb_werkzeuge = document.getElementById("deb_werkzeuge");
In diesem Fall überschreibst Du innerhalb Deiner Funktion, also im lokalen Namensraum dieses Blocks, das globale Objekt deb_werkzeuge.
So long,
Mr. Horse
Danke für eure Ratschläge ...
Das gleiche wie in deiner anderen Frage (mit dem Passwort): das Problem ist der unsaubere Stil (in verbimndung mit dem kaputten IE)
Struppi.