Thorsten Legat: EventListener: click

Beitrag lesen

Hallo.

Ich verstehe nicht, warum die Funktion "schreiben()" aufgerufen wird. Eigentlich möchte ich nur beim Anklicken eines Buttons "schreiben()" ausführen. Kann mir jemand erklären, warum das so ist?

Danke!

document.addEventListener('DOMContentLoaded', init);

function init() {
 var kartenhoehe=10;
 var kartenbreite=15;
 tabelle();
 listener();

 function schreiben() {
  document.write('warum?');
 }

 function tabelle() {
  var text='';
  text+='<table>';
  for(var a=0; a<kartenhoehe; a++) {
   text+='<tr>';
   for(var b=0; b<kartenbreite; b++) {
    text+='<td><button id="btn'+a+'.'+b+'"></button></td>';
   }
  text+='</tr>';
  }
  text+='</table>';
  document.body.innerHTML=text;
 }

 function listener() {
  for(var a=0; a<kartenhoehe; a++) {
   for(var b=0; b<kartenbreite; b++) {
    var elem = document.getElementById('btn'+a+'.'+b);
    elem.addEventListener('click', schreiben());
   }
  }
 }

}