Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    aggiungere eventi dinamicamente

    dopo aver creato dinamicamente un pulsate
    var mioBottone;

    mioBottone = document.createElement("<input>")
    mioBottone.setAttribute('type','button')
    miobottone.setAttribute('id','bottone1')

    poii vorrei registrare un'evento "onclick" sul bottone e faccio

    mioBottone.attachEvent('onclick','miafunzione')

    dove miaFunzione e la funzioncina che voglio richiamare alla pressione del pulsante
    cosi facendo mi da questo errore: "Incompatibilita tra tipi"
    come mai? come posso risolvere il problema? c'e' un'altro modon per aggiungere un'evento?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    mioBottone.attachEvent('onclick', miafunzione)

    versione crossbrowser
    codice:
    if(mioBottone.addEventListener) mioBottone.addEventListener("click", miafunzione, false); // mozilla & co.
    else if(mioBottone.attachEvent) mioBottone.attachEvent("onclick", miafunzione); // IE
    ciao

    P.s.
    mioBottone = document.createElement("<input>")
    puoi togliere < >

  3. #3
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    ci siamo quasi, tolti gli apici dalla funzione funziona correttamente se la funzione non accetta parametri, nel caso in cui chiamo una funzione che prenda deri parametri mi dice argomento non valido, ho fatto cosi:
    mioBottone.attachEvent("onclick", miafunzione); //ok funziona

    ma se devo richiamare la funzione che accetta un parametro:
    mioBottone.attachEvent("onclick", miafunzione('E001')); //ecco l'errore, ho provato anche con gli apici doppi
    come cavolo risolvo?

  4. #4
    Originariamente inviato da afrappe
    ci siamo quasi, tolti gli apici dalla funzione funziona correttamente se la funzione non accetta parametri, nel caso in cui chiamo una funzione che prenda deri parametri mi dice argomento non valido, ho fatto cosi:
    mioBottone.attachEvent("onclick", miafunzione); //ok funziona

    ma se devo richiamare la funzione che accetta un parametro:
    mioBottone.attachEvent("onclick", miafunzione('E001')); //ecco l'errore, ho provato anche con gli apici doppi
    come cavolo risolvo?
    La funzione va scritta senza i parametri l'attachEvent vuole un puntatore a funzione e non la funzione e questo lo fai mettendoci per l'appunto solo il nome (mi pare che la faccenda funzioni così ma correggetemi se sbaglio).

    Quindi per avere il tal parametro l'unica idea che mi viene ora è quella di creare una variabile globale (quindi esterna a qualsiasi definizione di funzione) e usare quella all'interno della funzione che desideri (miafunzione).

    tipo così:
    codice:
    var miavaribile = 'E001';
    
    function miafunzione() {
      if (miavariabile == 'E001')
        // fai quello che voi
      else
        // altro ancora
    }
    When the myth has not limits

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quando è necessario indicare il puntatore alla funzione ma questa prevede parametri basta creare una nuova funzione al volo

    mioBottone.attachEvent('onclick', miafunzione)
    diventa
    codice:
    mioBottone.attachEvent('onclick', function(){miafunzione('par1','par2')})
    ciao

  6. #6
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    bella sta cosa della funzioncina creata al volo e sopratutto FUNZIONAAAAA


    grazieeeee :mavieni:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.