".style.display = ..." und HTML Tabellen
Markk
- javascript
Hallo Community.
Ich habe ein kleines Problem ;-)
Wenn man auf ein Bild klickt (JS Handler hab ich jetzt mal weggelassen)
<img src="./data/specialmenu/new.gif" class="PieContextMenu" ... style="display: none;" />
wird folgendes Menü sichtbar gemacht (ist über das Style attribute display standardmäßig ausgeblendet)
<ul id="..." class="PieContextMenu" style="display: none;">
<li><a href="javascript:alert('test')"><img src="./data/specialmenu/new.gif" alt="Neuer Upload erstellen" /></a></li>
<li><a href="javascript:alert('test')"><img src="./data/specialmenu/edit.gif" alt="Upload bearbeiten" /></a></li>
<li><a href="javascript:alert('test')"><img src="./data/specialmenu/trash.gif" alt="Upload löschen" /></a></li>
<li><a href="javascript:alert('test')"><img src="./data/specialmenu/mail.gif" alt="Upload per Email versenden" /></a></li>
</ul>
JavaScript Befehl zum Einblenden des Menüs:
PieContextMenu.menuElement.style.display = 'block';
Das funktioniert ja soweit alles ganz gut. Problem ist jetzt, dass ich das Bild, welches zum Öffnen des Menüs
angeklickt werden muss sich jetzt in einer Tabelle befindet.
...
<tr>
<td>
<img src="./data/specialmenu/new.gif" class="PieContextMenu" ... style="display: none;" />
<ul id="menue<tree:nodeId node="tree.node"/>" class="PieContextMenu" style="display: none;">
<li><a href="javascript:alert('test')"><img src="./data/specialmenu/new.gif" alt="Neuer Upload erstellen" /></a></li>
<li><a href="javascript:alert('test')"><img src="./data/specialmenu/edit.gif" alt="Upload bearbeiten" /></a></li>
<li><a href="javascript:alert('test')"><img src="./data/specialmenu/trash.gif" alt="Upload löschen" /></a></li>
<li><a href="javascript:alert('test')"><img src="./data/specialmenu/mail.gif" alt="Upload per Email versenden" /></a></li>
</ul>
</td>
</tr>
Das Menü selbst ist größer als das Tabellenfeld.
Wenn ich jetzt im IE 7.0 das Menü einblenden möchte, dann wird dieses nicht ganz dargestellt (passt halt nicht in
ganz in die Tabellenzelle). Nebenbei: Im Firefox funktioniert es aber ...
Habe jetzt mal versucht mit den display Eigenschalften zu werkeln, aber leider ohne Erfolg
table-column
table-column-group
table-caption
Hier heißt es immer "unbekannte Tabelleneigenschaft".
Weiß jemand hier weiter?
Hi,
Das Menü selbst ist größer als das Tabellenfeld.
Wenn ich jetzt im IE 7.0 das Menü einblenden möchte, dann wird dieses nicht ganz dargestellt (passt halt nicht in
ganz in die Tabellenzelle).
Na dann mach sie doch groesser.
Habe jetzt mal versucht mit den display Eigenschalften zu werkeln, aber leider ohne Erfolg
Mit denen welchen Elementes?
table-column
table-column-group
table-captionHier heißt es immer "unbekannte Tabelleneigenschaft".
Tja, die kennt der dumme IE leider nicht.
Weiß jemand hier weiter?
Online-Beispiel?
MfG ChrisB
Hi,
Das Menü selbst ist größer als das Tabellenfeld.
Wenn ich jetzt im IE 7.0 das Menü einblenden möchte, dann wird dieses nicht ganz dargestellt (passt halt nicht in
ganz in die Tabellenzelle).Na dann mach sie doch groesser.
Ganz so einfach ist das leider nicht. Mein Beispiel ist sehr stark vereinfacht. Es handelt sich hier um eine Taglib JSP Navigation (Treeview), der ich einfach bestimmte Bearbeitungsfunktionen hinzufügen möchte.
Habe jetzt mal versucht mit den display Eigenschalften zu werkeln, aber leider ohne Erfolg
Mit denen welchen Elementes?
table-column
table-column-group
table-captionHier heißt es immer "unbekannte Tabelleneigenschaft".
Tja, die kennt der dumme IE leider nicht.
Bist du sicher dass der IE diese nicht kennt?
Als Stylesheet versteht er es. Nur eben als
PieContextMenu.menuElement.style.display = '...';
nichtWeiß jemand hier weiter?
Online-Beispiel?
Nicht möglich. Läuft nur lokal :-(
MfG ChrisB
Hi,
bitte spiele nicht mit den automatisch eingefuegten Zitatzeichen herum, bzw. fuege keine am Anfang deiner eigenen Antworten ein, Danke.
table-column
table-column-group
table-captionHier heißt es immer "unbekannte Tabelleneigenschaft".
Tja, die kennt der dumme IE leider nicht.
Bist du sicher dass der IE diese nicht kennt?
Ja.
(In der Version 8 kennt er sie zwar, aber die hat ja noch nicht mal das Beta-Stadium verlassen.)
Als Stylesheet versteht er es.
Er *versteht* sie in dem Sinne, dass er das tut, was ein Browser per Definition machen soll, wenn er auf ihm unbekannte CSS-Eigenschaften/-Werte trifft - er *ignoriert* sie.
Nur eben als
PieContextMenu.menuElement.style.display = '...';
nicht
Ja, wenn Style-Eigenschaften per JavaScript gesetzt werden sollen, dann weiss er ploetzlich nicht mehr, dass er ihm unbekannte Werte zu ignorieren hat, und meldet einen Fehler.
Nur ein Schuss ins Blaue - aber hilft es vielleicht, wenn du nach dem Einblenden des Menues die Breite der Tabellenzelle noch mal explizit auf auto setzt? (Oder zur Not auch explizit auf die Breite, die das Menue aktuell beansprucht, zu erfragen ueber dessen offsetWidth-Eigenschaft.)
MfG ChrisB
Tja, dann bleibt wohl oder übel nichts anderes über als das Taglib zu bearbeiten. Danke für deine schnelle Hilfe.