Peter: Bugs und Questions.

Beitrag lesen

....

Nur im <a> muss ich dann
  onclick="zwei.clicked(this);" href="javascript:zwei.goto();"
oder
  onclick="drei.clicked(this);" href="javascript:drei.goto();"
hinzaubern.

this ist in dem Fall das <a> Element, in dessen Kontext das Skript aufgerufen wird.

Struppi.

Hallo, Struppi,

in diesem Fall, um das <a> tag dynamisch, mit einer Objektmethode, zu generieren, müsste ich also aus dem Objekt zwei bzw. drei den String "zwei" bzw. "drei" gewinnen.

Wie geht das in Javascript (bei systematischer Programmierung)?

so ganz klar ist mir nicht was du meinst, aber so wie ich dich verstehe geht das nicht was du willst oder aber du musst das Element an die Funktion binden. Aber an ein anderes Objekt das geht nicht.

Struppi.

Also ich denke an folgende Konstruktion, bzw etwas schöneres, erfahreneres dazu. Oder braucht es das nicht? Oder wie bindet man ein Element sonst an eine function?

var zwei = new menu("zwei");
var drei = new menu("drei");

function menu(pObjektname) {
  this.objektname = pObjektname;
  this.clickedobj = null;
  this.writeHTML = function() {
    document.write(
     "<a "
      +"onclick="+objektname+".clicked(this);
      +"href=javascript:"+objektname+".goto();")
      +">clickme</a>");
    }

this.clicked=function(ptr) {this.clickedobj=ptr}
  this.goto=function{....}
}

Gruss, Peter