Rolf b: per CSS oder javascript automatisch Code an div anhängen

Beitrag lesen

Jein. Mit image.onclick=function(evt) { ... }; kannst Du zurechtkommen, es kann Dir aber dann auf die Füße fallen wenn sich noch jemand auf das Event registrieren will.

Deswegen ist bei Event-Fragen jener hier dein Freund, es sei denn, du willst den IE mit Version < 9 unterstützen, dann ist es etwas aufwändiger.

var imageClicked = function(eventObj) {
   // do something
};
image.addEventListener('click', imageClicked);

Innerhalb der Eventhandler-Funktion zeigt this auf das DOM Element, das das Event ausgelöst hat, also das Image, und du bekommst ein MouseEvent übergeben. Also alles wie bei onclick=function(evt){...}, mit dem Unterschied, dass Du mit addEventListener mehr als einen Listener für ein Event registrieren kannst.

Wenn Du die Funktion nicht deregistrieren können musst (removeEventHandler), dann kannst Du sie auch gleich inline als Parameter angeben und musst sie nicht in einer Variablen speichern. Also so:

image.addEventListener('click', function(eventObj) {
   // do something
});

Rolf