[JS/DOM] Eventhandler per JS zuweisen *erledigt*

theHacker

sieht vor lauter Ads den Content nicht mehr
Teammitglied
ID: 69505
L
20 April 2006
22.682
1.316
Moin.

Irgendwie komm ich grad nicht weiter.
Ich suche eine einfache Variante, einen Eventhandler per JS zuweisen zu lassen. Ziel ist es, in mehrere HTML-Tags ähnliche Eventhandler einzusetzen.

Vereinfacht:
HTML:
<input type="text" onchange="foo(this,'bar1');" />
<input type="text" onchange="foo(this,'bar2');" />
Damit ich überall dasselbe stehen hab, hab ich es so probiert:
HTML:
<input type="text" id="text1" />
<input type="text" id="text2" />
<script type="text/javascript">
/* <![CDATA[ */
init_event_stuff("text1","bar1");
init_event_stuff("text2","bar2");
/* ]]> */
</script>
PHP:
function init_event_stuff(textctrlname,arg)
{
  var funccall="foo(this,'"+arg+"');";
  document.getElementById(textctrlname).onchange=funccall;
}
Das funktioniert aber nicht :-?
Auf SelfHTML wird das mit addEventListener() gemacht, doch da kann ich keinen Parameter an die Funktion übergeben, weil der Funktionsname ohne Anführungszeichen übergeben werden muss.

Gibts da irgendwie ne Alternative, die ich noch nicht gefunden hab oder bin ich auf dem Holzweg ? ...oder seh ich einfach nur den Wald vor lauter Bäumen nicht ?
 
du kannst auch direkt:

element.onCLick = function () { wuschelkopp(this.className); }

verwenden. evt hilft dir das?
 
element.onCLick = function () { wuschelkopp(this.className); }
Das is ja krass 8O
Ja, danke, das geht :)
PHP:
function init_event_stuff(textctrlname,arg)
{
  document.getElementById(textctrlname).onchange=function()
  {
    foo(this,arg);
  }
}
Ich hätte nie gedacht, dass das this dann gültig ist, bzw arg von der äußeren Funktion übernommen wird 8O