onMouseOut geht bei IE nur nach links und nicht nach rechts
heinerle
- javascript
Hallo community,
ich habe ein kleines (oder doch ein großes) Problem mit dem InternetExplorer.
Folgender Quellcode wird eingesetzt:
<div id="<?=$new_array[$k][0]?>" style="border: 2px solid red; display:none;" onmouseout=" return document.getElementById('<?=$new_array[$k][0];?>').style.display='none';">
Die Datei kann nicht gelöscht werden
</div>
Das ganze funktioniert sowohl in allen Browser der Mozilla Familie, als auch im Opera perfekt, aber IE macht Zicken. Das onMouseOut funktioniert nur, wenn der Besucher das <div>-Element mit der Maus nach links verlässt. Bewegt er die Maus nach rechts aussen, passiert gar nichts. Woran könnte das liegen (mal abgesehen davon, dass es der InternetExplorer und kein richtiger Webbrowser ist) und wie kann ich das ganze so erstellen, dass es dem Browser völlig Schnuppe ist, in welche Richtung die Maus nach aussen bewegt wird?
Für eine kleine Hilfe wäre ich sehr dankbar.
mfg
heinerle
Hallihallo!
Leider lässt sich aus dem Bißchen Quelltext (zumindest von mir) Nichts Genaues erkennen, was auf einen Fehler schliessen lässt, deshalb schieße ich mal ins Blaue:
Eventuell rendert der IE Dein div so, daß es bis an den rechten Seitenrand geht. Das lässt sich überprüfen, indem Du dem Element per CSS mal Testweise einen Rand oder eine Hintergrundfarbe verpasst.
Wenn das der Fall ist, kannst Du Abhilfe mit einer width- Angabe schaffen.
Ich hoffe, ich konnte helfen...
Viele liebe Grüße,
Der Dicki
Eventuell rendert der IE Dein div so, daß es bis an den rechten Seitenrand geht. Das lässt sich überprüfen, indem Du dem Element per CSS mal Testweise einen Rand oder eine Hintergrundfarbe verpasst.
Wenn das der Fall ist, kannst Du Abhilfe mit einer width- Angabe schaffen.
»»
Das Element hat einen Rand, ich hab doch "border: 2px solid red;" gesetzt, und vorher hatte ich es auch mit "width:120px;" versucht, aber der IE scheint den rechten Rand des Elementes nicht zu finden.
Das Element befindet sich in einer Zelle, diese wiederum in einer Tabelle mit einer Breite von 800 (ich habe es auch schon mit 80% versucht, war der gleiche Effekt).
Hell-O!
Folgender Quellcode wird eingesetzt:
<div id="<?=$new_array[$k][0]?>" style="border: 2px solid red; display:none;" onmouseout=" return document.getElementById('<?=$new_array[$k][0];?>').style.display='none';">
Die Datei kann nicht gelöscht werden
</div>
Bitte poste den Code so, wie es ein Browser oder der IE zu sehen bekommt.
Für eine kleine Hilfe wäre ich sehr dankbar.
Poste bitte - wenn möglich - einen Link zur Testseite. Gib bitte auch die IE-Version an, in der der Fehler auftritt, und eine eventuelle Fehlermeldung (Doppelklick auf das gelbe Dreieck links unten in der Statusleiste des IE).
Siechfred
Für die Browser wird es so angeliefert:
<div id="bild0815.jpg" style="border: 2px solid red; display:none;" onmouseout=" return document.getElementById('bild0815.jpg').style.display='none';">
Die Datei kann nicht gelöscht werden
</div>
Ich baue in einer Schleife eine Tabelle auf.
Jede Zeile hat 3 Zellen:
1. Zelle Name des Bildes
2. Zelle Details zu dem Bild
3. Zelle Link zum Löschen des Bildes
Das Bild darf nur gelöscht werden, wenn es nicht mehr in anderen Seiten eingebunden ist. Deshalb soll für den Fall, dass nicht gelöscht werden darf, dieses Hinweis-Element erscheinen.
Der <div> wird also umschlossen von einer Tabellenzelle. Leider kann ich keinen Link dazu posten, da die Datenbank derzeit nicht von aussen erreichbar sein darf, und ohne die Datenbank würde man die ganze Tabelle ja nicht sehen.
Ich benutze zum Testen alle möglichen Browser, unter anderem den IE 6.0, bei dem der besagte Fehler auftritt.
Meine JS-Plugins (u.a. Web Developer und JS Debugger) im Firefox zeigen keine Fehler an. Ich bekomme auch keinen Warnhinweis im IE.
Es müsste also, meiner Meinung nach, ein Problem vom IE im Umgang mit <div> sein, oder?
Wenn dem so ist, hat jemand von euch einen Hack dafür oder eine Idee, wie ich das ganze umgehen kann und trotzdem ein Kleiner Hilftext eingeblendet wird?
Hallihallo!
...Leider kann ich keinen Link dazu posten, da die Datenbank derzeit nicht von aussen erreichbar sein darf, und ohne die Datenbank würde man die ganze Tabelle ja nicht sehen.
Ich denke nicht, daß es ein Problem mit <div> im Allgemeinen ist.
Wenn Du schon nicht das Original zum Ansehen zeigen kannst/darfst, dann bastel doch mal einfach eine statische Seite als Abbild des Problems.
Ich denke nicht, daß die Datenbank unmittelbar mit dem Problem zusammenhängt.
Was man also zum Helfen braucht, ist genau Dein Tabellenkostrukt, und genau Dein div. Mit meinen eigenen Kostruktionen kann ich Dein Problem nicht nachvollziehen.
Viele liebe Grüße,
Der Dicki