Tach!
Ich denke, es wäre sehr von Vorteil, dass du dich mal mit den Grundlagen der Eventverarbeitung beschäftigst, anstatt immer von einem Problem auf das nächste zu stoßen.
Wenn also ein Klickevent zum tr weitergereichtb wird, finde ich den nodeName TR vor und weiss immer noch nicht, ob TR selbst oder ein Child von TR geklickt wurde:
Der Unterschied ist wo du den Node findest. (Man muss auch nicht den Namen vergleichen, man kann auch die Nodes selbst vergleichen, je nachdem was man erreichen möchte.) Ein Event-Objekt hat jedenfalls zwei Verweise an Bord. Der eine geht zum eigentlichen Auslöser (target), der andere zu dem Node, für den der aktuelle Eventhandler ausgelöst wurde (currentTarget). Für jeden Node in der Event-Bubbling oder -Capturing-Kette wird ja der entsprechende Eventhandler einzeln aufgerufen und jeweils auch ein neues Event-Objekt übergeben. Solange du in diesem Eventhandler bist, zeigt das this auf denselben Node wie auch currentTarget, das target hingegen kann ein anderer Node sein.
Das heißt konkret, wenn du im Eventhandler deines TRs bist, dann zeigt currentTarget immer auf das TR, das target aber zeigt auf TR, wenn dort geklickt wurden und auf das Child, wenn dort geklickt wurde.
alert ( obj.nodeName );
console.log(obj) (ohne nodeName) und die Entwicklertools offenhaben zeigt deutlich mehr interessante Informationen an. alert() kommt in die Mottenkiste.
dedlfix.