Der Martin: Initialisierung onload aufrufen

Beitrag lesen

Hallo,

ich möchte erreichen, dass eine in HTML eingebundene Javascript- Routine sich selbst aufruft, wenn die Seite geladen ist.

nichts leichter als das, sagte Frederick. ;-)

<body onLoad="sortable_init()">

Auch wenn diese Methode weniger elegant ist, wäre es keine schlechte Idee, den Eventhandler hier richtig zu schreiben (okay, HTML ist gnädig, aber XHTML nicht, Javascript auch nicht).

Und so hätte ich es gerne:

sortable_tables.js

function sortable_init() {

...
}
body.onLoad = sortable_init();

  
Haha, falsch gedacht. Eventhandler, die als Attribut des HTML-Elements body notiert werden, sind in Wirklichkeit dem Javascript-Objekt window zugeordnet.  
  

> Aber alle Schreibweisen wie  
> body.onLoad = sortable\_init();  
> body.onLoad = sortable\_init;  
> window.onLoad = sortable\_init;  
> document.onLoad = sortable\_init;  
> führten nicht zum Erfolg  
  
Nein. Erstens hast du das falsche Objekt gewählt - window anstatt body wäre angesagt. Zweitens ist, wie oben schon erwähnt, die Schreibweise des Eventhandlers falsch; sonst hätte nämlich die zweite Variante das geleistet, was du erwartest.  
  

> brachten aber weder in Opera noch FF Fehlermeldungen.  
  
Natürlich nicht. Es ist ja auch kein Fehler, einem existierenden Javascript-Objekt beliebige neue Eigenschaften anzuhängen.  
  

> Logischerweise ist onLoad doch ein Event von body - oder?  
  
Hier versagt die Logik. Und nochmal: Der Eventhandler heißt "onload".  
  
Ciao,  
 Martin  

-- 
Das einzige Problem beim Nichtstun: Man weiß nie, wann man damit fertig ist.