Dennis1983: JAVASCRIPT Funktion aus variable aufrufen

Hi,

ich habe eine funktion die vor allen anderen funktionen aufgerufen werden muss.

Habe aber leider fuer jeden button nur einen onClickEvent.

Da ich nicht unbedingt in jeder javascript funktion immer diese eine funktion aufrufen will, wuerde ich gerne meiner hauptfunktion( die, die immer aufgerufen werden soll) den funktionsnamen der als naechstes aufzurufenden funktion uebergeben.

etwa so:

<a href="javascript:main('action')">los!</a>

function main(funktionsname){

alert("erste funktion");

//----------
ausfuehren: funktionsname;
//----------
}

function action(){

alert('fertig');

}

klingt ein bisschen konfus aber ich hoffe man weiss was ich meine und es kann mir jemand helfen...

Danke und Gruss,
Dennis

  1. Hi,

    Habe aber leider fuer jeden button nur einen onClickEvent.

    wieso das?

    Da ich nicht unbedingt in jeder javascript funktion immer diese eine funktion aufrufen will, wuerde ich gerne meiner hauptfunktion( die, die immer aufgerufen werden soll) den funktionsnamen der als naechstes aufzurufenden funktion uebergeben.

    Ich glaube eher, Du möchtest eine Referenz auf die Funktion übergeben.

    <a href="javascript:main('action')">los!</a>

    Wieso soll die Seite ohne JavaScript nicht mehr funktionieren?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo,

    window.action();

    ist das gleiche wie

    window['action']();

    ist das gleiche wie

    var foo = 'action';  
    window[foo]();
    

    Ich glaube das sollte dir schon helfen.

    Grüße
    Jeena Paradies

    --
    Steuererklärung online gar nicht so einfach | Jlog | Gourmetica Mentiri
  3. Hallo,

    Funktionen sind in JavaScript selbst bloße Objekte, man kann sie anderen Funktionen als Parameter übergeben (als Referenz, wie gesagt). Mit dem Namen als String brauchst du nicht operieren.

    function action (...) {  
       ...  
    }  
    function main (funktion) {  
       funktion();  
    }  
    main(action);
    

    Mathias