Antwort an „Felix Riesterer“ verfassen

Lieber Nico,

Das widerspricht allerdings dem, was Felix hier schrub:

  1. <tbody>-Elemente sind keine interaktiven Elemente. Du solltest sie auch nicht mit einem EventListener interaktiv machen.

jein. 😉

Nicht OK: Klick auf eine Tabellenzelle ohne interaktives Element löst eine Interaktion aus.

OK: Klick auf ein <button>-Element innerhalb einer Tabellenzelle löst eine Interaktion aus.

Dabei ist es völlig egal, auf welches (Vorfahren-)Element der zugehörige Listener gesetzt wurde. In Deinem Fall ist es sinnvoll, diesen einen Listener an das <table>-Element zu hängen, damit Klicks auf dessen Nachfahrenelemente (bevorzugter Weise Buttons) entsprechend ausgewertet werden.

Es gab zu dieser Thematik einen sehr ausführlichen Thread in diesem Forum, als ich damals mein Tutorial zu Tic-Tac-Toe vorgestellt hatte.

Ein Grenzfall wäre, dass der User neben den Button klickt, aber noch innerhalb der Tabellenzelle getroffen hat. Will man dem User nun vorgaukeln, dass er schon noch den Button erwischt hätte, kann man im Listener nun prüfen, ob es in dieser Tabellenzelle einen Button gibt, und wenn ja, so tun, als hätte dieser das Event ausgelöst.

Liebe Grüße

Felix Riesterer

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen