onmouseout auf äußere Tabelle beziehen
Jason
- javascript
0 molily
Ich habe eine Tabelle mit mehreren Spalten und Zeilen. Die Tabelle ist in etwa 400x400px groß. Nun möchte ich beim Verlassen dieser 400x400px eine Javascript Funktion aufrufen. Wenn ich jedoch der Tabelle das onmouseout-Event zuweise wird das beim Verlassen jeder einzelnen Tabellenzelle abgefeuert obwohl es direkt in der Tabelle deklariert ist:
<table onmouseout="alert('test');">
<tr>
<td>
.......
</td>
</tr>
</table>
Wie kann ich dieses Event denn auf die gesamte Tabellenfläche beziehen? Ein div-Element um diese Tabelle herum brachte das gleiche Ergebnis.
Hallo,
Wenn ich jedoch der Tabelle das onmouseout-Event zuweise wird das beim Verlassen jeder einzelnen Tabellenzelle abgefeuert obwohl es direkt in der Tabelle deklariert ist
Alle mouseout-Ereignisse, die in der Tabelle bei den Zellen passieren, steigen im Element-Baum auf (nennt sich Event Bubbling) und lösen die mouseout-Handler bei den Elternelementen aus.
Um die mouseout-Ereignisse herauszufiltern, bei denen die Maus nicht zwischen den Zellen innerhalb der Tabelle wechselt, sondern tatsächlich die Tabelle verlässt, musst du abfragen, wohin sich die Maus bewegt und ob dieses Zielelement innerhalb oder außerhalb der Tabelle liegt.
Siehe dazu etwa </archiv/2008/7/t173611/>.
Mathias