Hell-O!
var sResult = '<div id="'+this.divId+'" style="position:absolute;'+'left:' + x + 'px;'+'top:' + y + 'px;">'+'<input type="button" value="' + this.label + '" onClick="'+calledFunction+'">'+'</div>';
document.write(sResult);
Gut, du schreibst den HTML-Code für den Button in das Domument. Aber wo schreibst du den JS-Code für die Funktion "sagHallo()" hinein? Das eval() sorgt nur dafür, dass der Code evaluiert wird und gibt ein Ergebnis zurück, das war's. Der Code, den du reinschreibst, liefert als Ergebnis den HTML-Code für den Button, die Funktion "sagHallo" wird evaluiert, für gut befunden und verschwindet dann im eval-Nirvana.
Was meintest du eigentlich mit dem Link? Was sollte ich mit dem Tipp anfangen?
Mir gefällt die Variante, mittels eines function-Objektes JS-Code zu evaluieren, besser. Deshalb der Link.
Siechfred