2012-07-02 15 views
5

Sto cercando di capire come posso impostare argomenti per eventi personalizzati. Come posso impostare un argomento quando sottoscrivo l'evento e poi aggiungo alcuni dati aggiuntivi quando faccio scattare l'evento.jQuery dati di eventi personalizzati (sottoscrizione e trigger)

Ho un semplice JS per il test, ma nel parametro e di "handle" vedo solo i dati di subscribe.

function handle(e) { 
    //e.data has only "b" 
    alert(e.data); 
} 

function myObj() { 
    this.raise = function() { 
      //Trigger 
     $(this).trigger("custom", { a: "a" }); 
    } 
} 

var inst = new myObj(); 
//Subscribe 
$(inst).bind("custom", { b: "b" }, handle); 
inst.raise(); 

Grazie.

+0

Solo un suggerimento. L'avviso qui ti darà '' '[oggetto oggetto] anche [oggetto oggetto]' ''. Usando '' 'console.log (e.data, 'also', triggerParam)' '' mostrerà gli oggetti reali nella console del browser; – PHearst

risposta

5

I parametri forniti a .trigger() vengono passati come secondo parametro della funzione gestore eventi.

function handle(e, triggerParam) { 
    //e.data has only "b" 
    alert(e.data + ' also ' + triggerParam); 
} 
+0

Ah grazie :) Ho perso questo in tutorial jQuery ... Grazie ancora :) –

Problemi correlati