Opera reagiert nicht auf onclick!
Stefan Link
- javascript
0 Stefan Link0 Jan0 Felix Riesterer0 Stefan Link0 Orlando0 wahsaga
Hallo zusammen,
ich habe eine Tabelle, die in den Zellen Bilder hat, und auf diesen Zellen befinden Zahlen oder auch nicht. Genau hier liegt das Problem. Der Opera lässt mich die Zelle, wenn keine Zahl darin steht nicht anklicken, wenn eine Zahl drin ist schon. Wenn ich den IE oder FF nehme einwandfrei. Hier ein Beispiel ohne Zahl:
<table cellspacing="0" cellpadding="0" class="pro">
<tr>
<td style="background-image:url(..url...);" title="titel" onclick="javascript:location='meineurl'"><div class="yellowb"> </div></td>
</tr>
</table>
Die Klasse pro:
table.pro td { width:70px; height:70px; cursor:pointer; text-align:right; vertical-align:bottom; font-size:12px; }
Sieht jemand meinen Fehler??
Herzlichen Dank!
Stefan
Ich vergaß: die classe yellowb formatiert den Text gelb und fett.
onclick="javascript:..." ist ja auch syntaktisch falsch. Schau nochmal in die Selfhtml-Beispiele zu onclick!
Jan
Lieber Jan, lieber Stefan,
onclick="javascript:..." ist ja auch syntaktisch falsch. Schau nochmal in die Selfhtml-Beispiele zu onclick!
... und soltle es nicht sogar location.href = 'meine url';
heißen?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo!
Vielen Dank für die Hinweise. Inzwischen bin ich bei:
<table cellspacing="0" cellpadding="0" class="pro">
<tr>
<td style="background-image:url(url);" title="titel" onclick="location.href='url'"><div class="yellowb"> </div></td>
</tr>
</table>
Leider immer noch Fehlanzeige :(
Grüße
Stefan
Hallo Stefan,
location.href='url'
Vergleiche bitte deinen Code mit http://de.selfhtml.org/javascript/objekte/location.htm#href.
Grüße
Roland
Hallo zusammen,
ich habe mal die Lupe genommen und bin nun etwas schlauer: der Opera macht in der Tabellenzelle nur ganz unten einen Bereich wo er auf die Maus reagiert, also in etwa so:
+-----+
| |
| |
|xxxxx|
+-----+
Daher dachte ich erst, er würde nicht reagieren. Dort wo die Xe sind reagiert er, auch wenn im css width:70px und height:70px steht. Was mache ich da falsch?
Herzlichen Dank für die super Hilfe soweit!
Gruß
Stefan
Hallo Stefan,
Daher dachte ich erst, er würde nicht reagieren. Dort wo die Xe sind reagiert er, auch wenn im css width:70px und height:70px steht. Was mache ich da falsch?
Ergänze Folgendes an deinem Tabellenlayout (wenn du von vornherein darauf verzichten würdest, ginge es mit reinem CSS-Layout wahrscheinlich einfacher)
<table cellspacing="0" cellpadding="0" class="pro">
<tr>
<td title="titel" onclick="irgendeineFunktion()">
<div style="[code lang=css]position:relative;width:100%;height:100%
~~~">
<div class="yellowb" style="`position:absolute;bottom:0;right:0`{:.language-css}">h</div>
</div>
</td>
</tr>
</table>
[/code]
Gruß Gernot
Hi Gernot,
jetzt zeigt der gute Opera das Hintergrundbild gar nicht mehr an :(. Ich habe nun folgenden code:
<table cellspacing="0" cellpadding="0" class="pro">
<tr>
<td title="titel" style="background-image:url(url);" onclick="window...">
<div style="position:relative;width:100%;height:100%">
<div class="yellowb" style="position:absolute;bottom:0;right:0"> </div>
</div>
</td>
</tr>
</table>
Firefox nach wie vor wie es sein soll :(
Gruß
Stefan
Hallo Stefan,
<td title="titel" style="background-image:url(url);" onclick="window...">
Also mein Opera7.54 hat unter Win98 mit der Darstellung des Hintergrundbildes keine Probleme, vorausgesetzt, ich gebe für 'url' einen sinnvollen Wert an.
Gruß Gernot
hi,
<td style="background-image:url(url);" title="titel" onclick="location.href='url'"><div class="yellowb"> </div></td>
wozu dient dieser leere div da?
ich vermute, das opera nicht auf den klick auf die tabellenzelle reagiert, weil der div "darüber" liegt.
das wäre zwar nach dem allgemeinen prinzip des event bubbling sicher falsch - aber opera und javascript sind manchmal nicht die besten freunde.
gruß,
wahsaga
Hi wahsaga,
wozu dient dieser leere div da?
der ändert die Schrift etc.
ich vermute, das opera nicht auf den klick auf die tabellenzelle reagiert, weil der div "darüber" liegt.
das wäre zwar nach dem allgemeinen prinzip des event bubbling sicher falsch - aber opera und javascript sind manchmal nicht die besten freunde.
:-) Das dachte ich auch und hab ihn mal rausgeworfen. Leider das gleiche. Er erkennt nur da wo das steht die Zeile, drüber ist für ihn quasi nicht vorhanden. Und ich weiß nicht warum. Ich habe den Zelleninhalt zwar auf nach unten ausgerichtet, also irgenwo kann ich es schon nachvollziehen was er macht, aber nicht warum...
Stefan