kein onBlur im AREA (FF)
UniN00B
- javascript
0 Sven Rautenberg0 plan_B0 plan_B
0 Struppi
Hallo Gemeinde,
ich habe folgendes Problem allerdings nur im Firefox(ich habe 1.0.6):
Ich möchte Bereiche in einem verweissensitiven Bild mit onFocus und onBlur behandeln. Bei dieser Aktion soll eine Tabelle mit iFrame unter dem Bild ein- und ausgeblendet werden. Hier noch ein bisschen Code:
<script language="JavaScript">
function einblenden(id){document.getElementById(id).style.display = 'block';}
function ausblenden(id){document.getElementById(id).style.display = 'none';}
</script>
<map name="Test_MAP">
<area shape="rect" coords="183,118,192,127" href="#" alt="test1" onFocus='einblenden("test1")' onBlur='ausblenden("test1")'>
<area shape="rect" coords="215,124,222,131" href="#" alt="Test2" onFocus='einblenden("test2")' onBlur='ausblenden("test2")'>
</map>
<img src="URL/Test_MAP.png" width="540" height="308" alt="" usemap="#Test_MAP" border="0">
<table cellpadding="0" cellspacing="0" border="0" id="test1" style="display:none"><tr><td><iframe marginheight="0" frameborder="0" scrolling="no" FRAMESPACING="0" src="URL/test1.htm" width="540" height="650"></iframe></td></tr></table>
<table cellpadding="0" cellspacing="0" border="0" id="test2" style="display:none"><tr><td><iframe marginheight="0" frameborder="0" scrolling="no" FRAMESPACING="0" src="URL/test2.htm" width="540" height="650"></iframe></td></tr></table>
Wär Klasse wenn einer ne Idee hätte. Ich verzweifle hier, weil ich den Fehler einfach nicht finde....Danke
Moin!
ich habe folgendes Problem allerdings nur im Firefox(ich habe 1.0.6):
Wirklich Version EINS PUNKT NULL PUNKT SECHS?
Dann aktualisier' das Ding mal, oder installiert meinetwegen auch parallel Version ZWEI, und prüfe, ob dein Problem damit immer noch existiert.
Wer mit Uralt-Versionen rumsurft, die schon seit Jahren durch fehlerbereinigte Versionen ersetzt wurden, muß sich über sowas nicht wundern, bzw. ist selbst Schuld.
- Sven Rautenberg
so hallo nochmal,
danke erstmal für die fixen antworten.
ich bin leider nicht eher dazu gekommen zu antworten. bin hier etwas ins rotieren gekommen...
naja, ich hab meinen FF auch mal endlich auf die neuste version gebracht und den start tag vom javascript geändert. allerdings ohne erfolg..
jetzt werde ich mir mal den vorschlag von plan_b anschauen...der sieht ja erstmal recht vielversprechend aus...
OK...Danke nochmal an alle..
Der Code von plan_b hat prima funktioniert...
Hallo,
<map name="Test_MAP">
<area shape="rect" coords="183,118,192,127" href="#" alt="test1" onFocus='einblenden("test1")' onBlur='ausblenden("test1")'>
<area href="#" ... > ist ziemlich unschön, es gibt doch auch
<area nohref >
von der Handhabung stelle ich es mir angenehmer vor, du würdest auf onclick reagieren
<area nohref onclick="einausblenden(this,"test1") .... >
function einausblenden(area_elem,id) {
var map=area_elem.parentNode;
var tbl=document.getElementById(id);
if (tbl) {
if (map.old_tbl && tbl!=map.old_tbl) map.old_tbl.style.display="none";
tbl.style.display= tbl.style.display=="block" ? "none" : block;
map.old_tbl=tbl;
}
}
Gruß plan_B
noch ein Nachtrag,
besser ich hätte vorher hier noch mal nachgelesen: <http://de.selfhtml.org/html/grafiken/verweis_sensitive.htm#definieren@title=verweis-sensitive Grafiken>
"nohref" macht in deinem Falle eben Probleme, weil dann onfocus nicht gefeuert wird. Auch das Cursoraussehen ist browserabhängig.
Also besser doch <area href="#" ... >
sollte ein alter IE aber etwa mit diesem Konstrukt Probleme bekommen
<area href="#" onclick="return false;" ... > solltest du an "nohref" denken.
ich hatte angenommen, dass dein FF onblur nicht feuert. Meine Funktion könnte man auch mit onfocus allein aufrufen, der zuletzt aktive Layer würde eben immer angezeigt.
sicher auch gesehen, in der Funktion die Gänsefüsschen vergessen
> tbl.style.display= tbl.style.display=="block" ? "none" : block;
tbl.style.display= tbl.style.display=="block" ? "none" : "block";
Gruß plan_B
<script language="JavaScript">
Wo hast du den Code den her?
Das language Attribut, ist lange hinfällig.
<table cellpadding="0" cellspacing="0" border="0" id="test1" style="display:none"><tr><td><iframe marginheight="0" frameborder="0" scrolling="no" FRAMESPACING="0" src="URL/test1.htm" width="540" height="650"></iframe></td></tr></table>
Wozu ist denn die Tabelle gut?
Wär Klasse wenn einer ne Idee hätte. Ich verzweifle hier, weil ich den Fehler einfach nicht finde....Danke
wie lautet die Fehlermeldung in der Fehlerkonsole?
Struppi.
Hello out there!
<script language="JavaScript">
Wo hast du den Code den her?
Der ist im Netz doch nicht allzuschwer zu finden. :-( Und dieser Unsinn steht auch in unzähligen Büchern und Lernmaterialien. Autsch!
Das language Attribut, ist lange hinfällig.
Das 'type'-Attribut hingegen in HTML 4 schon immer Pflicht. [http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche]
See ya up the road,
Gunnar