Objektevent eine Funktion mit Parametern übergeben

con-f-use

Erfahrenes Mitglied
Hallo,

ich stehe gerade auf dem Schlauch:
Ich habe eine vordifinierte Funktion die als Parameter ein Objekt erwartet. Nun möchte ich, dass einem Event eines HTML-Element innerhalb eines JavaScripts diese Funktion zugewiesen wird. Der Funktion soll als Parameter das jeweilige Objekt übergeben werden. Die Funktion wird auch anderweitig verwendet, daher kann ich sie nicht erst neu definieren oder so.

Okay, das ist euch zu abstrakt und wisst ihr nicht, was ich eigentlich will? Das ganze in andern Worten an einem Praktischen Beispiel:

Warum funktioniert das,
HTML:
<div onclick="this.style.backgroundColor='#FF0000'">Test</div>
das
HTML:
 <script type="text/javascript"><!--
  	function color(obj) {
  		obj.style.backgroundColor = '#FFFFFF';
  	}
  //--></script>
  
  <div id="test2">Test 2</div>
  
  <script type="text/javascript"><!--
  	document.getElementById('test2').onclick = 'color(this)';
 //--></script>
aber nicht und wie schaffe ich es das das Zweite geht ohne, dass ich die Funktion gleich nach dem onclick (neu) definieren muss?

Mein wirkliches Problem hat natürlich ein kompliziertes Script zur Grundlage, aber das Beispiel sollte zeigen wo das Problem liegt.

Schonmal Danke für jede Hilfe!
 
Zuletzt bearbeitet:
Problem gelöst - es get mit:
HTML:
setAttribute('onclick','color(this)')
Edit: Falsch gedacht, das funktioniert natürlich wieder aus irgenteinem Grund nicht im IE. Bugriddenpieceofjunk!

Brauch doch weiterhin Hilfeeeee! Danke!
 
Zuletzt bearbeitet:
Hehe, ganz doll! Vielen Dank für deine Hilfe.

Noch bevor ich meinen ersten Post gemacht hab hatte ich die Möglichkeit ausprobiert hatte aber wohl einen Fehler drin und der Mozilla hat mir ne sehr seltsame Fehlermeldung ausgegeben, weswegen ich dem nicht mehr nachgegangen bin. Jetzt beim zweiten Versuch hat's geklappt. Danke!

Trotzdem kömisch, dass es im Gecko mit setAttribute() gelappt hat und im IE nicht. Langsam nervt mich der IE gewaltig.
 

Neue Beiträge

Zurück