• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Javascript in IE und Firefox - kurz vorm suizid

Status
Für weitere Antworten geschlossen.

Vicvicvic

Neues Mitglied
Folgendes Problem:
Ich muss mir was zusammen basteln für die Uni und hab tage daran verbracht herauszufinden wieso:

Dynamic Drive DHTML Scripts- Dropdown HTML control


in IE und firefox läuft, wenn Ich jedoch ein eigenes, simples Script, wie folgt, ausprobiere, firefox nicht mitspielt:

<html xmlns="XHTML namespace" xml:lang="en" lang="en">
<head>
<style type="text/css">
<!--
#Layer1 {
[...]
}
-->
</style>
</head>
<body>
<div id="Layer1" onclick="javascript: test();"></div>
<script type="text/javascript">
function test(){
document.all.Layer1.style.visibility = "hidden";
}
</script>
</body>
</html>

Erbitte Hilfe :(
Vicvicvic
 
javascript: raus und nie nie nie nie nie mehr benutzen! Ach document.all ist ursprünglich eine Erfindung für den IE. Du hast Glück, dass die anderen Browser das inzwischen auch unterstützen.
 
Du rufst die Funktion auf, noch bevor Du sie definierst. Dann ist sie nicht bekannt, wie Dir die Fehlerkonsole auch sagen wird, wenn Du reingucken würdest.

Funktionen sollte man immer in <head> deklarieren, damit sie dann im Dokument auch an jeder Stelle bekannt sind.
 
Irgendwie ist das ungenau. Der Hauptgrund, warum man <script> in <head> stecken soll, ist dass es einfacher zu warten ist. Außerdem gibt es beim vernünftigen Umgang mit Events gar keinen Grund mehr, das in <body> zu stecken. Mit der Verfügbarkeit oder gar Sichtbarkeit von Funktionen hat das wenig zu tun.
 
Ich war immer davon ausgegangen, dass es in JS und PHP ist wie in C, die Funktion muss definiert werden, bevor sie verwendet wird. Dem ist wohl nicht so?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben