Visualizzazione risultati 1 fino 7 di 7

Discussione: oggettoInput.onclick e nome funzione da variabile

  1. #1
    esotica non è connesso Utente giovane
    Data registrazione
    08-05-2008
    Messaggi
    87

    Question oggettoInput.onclick e nome funzione da variabile

    volevo sapere se e' possibile impostare da una variabile il nome della funzione da mettere nell' ONCLICK di un "input type=button".

    per impostare l'onclick faccio cosi

    oggettoinput.onclick = function(){nomefunzione();}

    pero' il mio "nomefunzione" e' dentro una variabile.

    Ho provato ma non riesco a farglielo prendere. E' possibile farlo ? Come ?

    PS: la funzione che richiamo dovrebbe anche passare il parametro "this".

    THX :)

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Dovresti adottare una sintassi più moderna e usare i listener di eventi, cerca come funziona il metodo addEventListener.

  3. #3
    esotica non è connesso Utente giovane
    Data registrazione
    08-05-2008
    Messaggi
    87

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Dovresti adottare una sintassi più moderna e usare i listener di eventi, cerca come funziona il metodo addEventListener.
    ho letto un po' di pagine sia in ita che in inglese, ma non ho trovato nulla che mi aiutasse su come specificare la funzione da richiamare (al verificarsi dell'evento) tramite una variabile invece di scrivere direttamente il nome.

    mi basterebbe anche un link.

    ancora GRAZIE

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Cosa intendi esattamente con:
    Citazione Originalmente inviato da esotica Visualizza messaggio
    pero' il mio "nomefunzione" e' dentro una variabile.
    Puoi fornire del codice?

  5. #5
    esotica non è connesso Utente giovane
    Data registrazione
    08-05-2008
    Messaggi
    87

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Cosa intendi esattamente con:

    Puoi fornire del codice?
    ho fatto un civlo perche' creo 4 pulssnti (input type=button) e ho fatto un vettore con i 4 nomi delle funzioni da attribuire.

    Codice:
    var funz = new Array("funz1","funz2","funz3","funz4");
    dentro al ciclo creo il pulsante
    Codice:
    	inp = document.createElement('input');
    	inp.setAttribute('type', 'button');
    	inp.setAttribute('value', nomi[i]);
    e ora dovrei "riempire" l'evento onclick con uno dei valori del vettore funz ossia funz[i].


    Se scrivo a mano la funzione, ad esempio
    Codice:
    inp.addEventListener('click', function(){funz1(this)}, false);
    va


    Se scrivo invece cosi, non va
    Codice:
    inp.addEventListener('click', funz[i], false);
    o cosi
    Codice:
    inp.addEventListener('click', function(){funz[i](this)}, false);

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Ma perché non mettere direttamente nell'array le funzioni? O anche un riferimento ad esse, non il loro nome come stringa.

  7. #7
    esotica non è connesso Utente giovane
    Data registrazione
    08-05-2008
    Messaggi
    87

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Ma perché non mettere direttamente nell'array le funzioni? O anche un riferimento ad esse, non il loro nome come stringa.

    GRAZIEEEEE


    questa cosa di inserire una funzione dentro una variabile per me e' nuovissima (l'ho letto l'altro giorno per sbaglio in una guida js) ... pero' non ho collegato la cosa di inserire le funzioni come elementi dell'Array ... GRAZIE GRAZIE GRAZIE :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •