Kai345: onclick Event Handler

Beitrag lesen

[latex]Mae  govannen![/latex]

Insofern ist also in der Funktion "this" das Element, in dem der Click ausgeführt wurde?

Nein. Der Event-Listener ist ja dem tr-Element zugewiesen:

<tr onclick="bla()"><td><a href="#">Link</a></td></tr>

function bla() {  
  alert(this);  
}

hier würde this auf das globale Objekt (window) zeigen

Wird this hingegen übergeben:

<tr onclick="bla(this)"><td><a href="#">Link</a></td></tr>

ist in der Funktion

function bla(ref) {  
  alert(ref.nodeName);  
}

in ref immer die Referenz auf das tr-Element übergeben, egal, was innerhalb angeklickt wird.

Also: so geht es nicht. Daher muß in der Funktion bla das geklickte Element mit target bzw. srcElement ermittelt werden:

<tr onclick="bla()"><td><a href="#">Link</a></td></tr>

function bla(e) {  
  if (!e) e = window.event;  
  var ref = e.target || e.srcElement;  
  alert(ref.nodeName);  
}

Cü,

Kai

--
„It's 106 miles to Chicago, we got a full tank of gas, half a pack of cigarettes, it's dark, and we're wearing sunglasses“.
„Hit it!“
Selfzeugs
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?