Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    forzare esecuzione event

    Ciao a tutti,
    come faccio a forzare l'esecuzione di un evento dopo averlo impostato tramite il metodo "addEventListener"? Ho provato ad eseguirlo così:

    elemento.onchange()
    elemento["onchange"]()

    ma niente.. mi dice che non è definito.

    Grazie a tutti in anticipo!

  2. #2
    mmm ma se chiami semplicemente la funzione associata?

    Mi spiego, metti che hai:

    codice:
    function doIt(e)
    {
       var evt = e | window.event;
       if(evt)
       {
          alert("Chiamata Tramite Evento");
       }
       else
       {
          alert("Chiamata Diretta");
       }
    }
    
    ...
    element.addEventListener('click', doIt, false);

    A questo punto la funzione potrà essere lanciata sia dall'evento, sia chiamandola direttamente con doIt();
    I DON'T Double Click!

  3. #3
    direi che probabilmente la tua è la soluzione più logica.. credevo ci fosse un metodo per richiamare l'evento, in quanto siccome la funzione associata all'evento non cambia mai al momento faccio un'associazione del tipo:

    ...addEventListener(elemento, "change", function () {...})

    senza l'utilizzo di una funzione intermedia.. Un'altra soluzione è quella di associare l'evento non tramite la funzione apposita addEventListener, ma associandola direttamente all'evento, tipo:

    element.onchange = function () {...}

    oppure

    elemento["onchange"] = function () {...}

    Grazie per la risposta, direi che con queste osservazioni possiamo ritenere l'argomento chiuso! =)

  4. #4
    beh, nelle librerie JS ci sono funzioni per fare il "fire"(lancio) di un evento, dai un occhiata a http://mootools.net/docs/Element/Ele...ment:fireEvent

    Poi non so come si implementa, ma, IMHO, perché rifare da 0 una cosa quando è già fatta?
    I DON'T Double Click!

  5. #5
    Concordo perfettamente con la tua opinione, non è necessario rifare una cosa che già esiste quando si sviluppa un'applicazione!

    Tuttavia, quando incontro un problema sono abituato a capire (o almeno cercare di farlo) da che cosa deriva.. In questo caso, ho trovato che non è possibile forzare l'esecuzione di un evento se per associare funzioni all'evento si utilizzano metodi proprietari dei browser (in quanto, teoricamente, un evento potrebbe avere più di un handler)..

    Grazie per il supporto!

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.