JS Closure - dynamisch 20 Buttons in Schleife mit click event erzeugen

Hallo, ich versuche mich auf eine Klausur vorzubereiten, bei manchen der Aufgaben habe ich noch Probleme. Leider sind die Übungen und Vorträge zu diesem Modul sehr schlecht. Da habe ich gedacht, dass ich mich vielleicht hier einfach mal an ein paar Pros wende. Jetzt mal eine der besagten Aufgaben; Aufgabe (JavaScript-Closure): Erstellen Sie dynamisch zwanzig Buttons, denen Sie beim Erzeugen in einer Schleife einen Eventhandler für das Click-Event zuweisen, der beim Anklicken u.a. die Zählvariable zur Erstellungszeit ausgibt, z.B. mit folgendem Text: „Button 12 wurde gedrückt.“
Kommentar abgeben zu diesen Beitrag/Code ?
Dann hier klicken

Der hier verwendete Code

<div id="rein"></div> <script> d1=document.getElementById('rein'); for(p=0;p<=20;p++){ var but = document.createElement("input"); but.class="buttonclass"; but.id='button'+p+''; but.type='button'; but.value='Button '+p; but.addEventListener("click", function(){ alert(this.id) }); d1.appendChild(but); } </script>