2012-08-31 16 views
21

Come trovare gestori di eventi su un oggetto in jQuery 1.8+?jQuery 1.8 trova gestori di eventi

var func = function(){ alert(1); }; 
var obj = $('#obj'); 
obj.on("click", func); 
// obj.data('events') is undefined 
+0

sembra una buona domanda, è possibile testare su questo js http://jsfiddle.net/968jj/ violino – Blowsie

risposta

30

Utilizzare la funzione di dati as is done by jQuery internally.

Nelle versioni precedenti, si potrebbe chiamare come per altri dati:

obj.data('events'); 

In jQuery 1.8, this direct access was removed, così nelle versioni più recenti è necessario chiamare in questo modo:

$._data(obj[0], "events") 

Puoi guardalo in azione aprendo la console in questo violino: http://jsfiddle.net/8TpeP/2/

+1

questo non funziona in 1,8, testarlo per voi stessi qui http: // jsfiddle. net/968jj/ – Blowsie

+1

@Blowsie Sì, ho modificato dopo aver testato –

+1

hai un collegamento a un esempio di lavoro? – Blowsie

5

per trovare gestori di eventi di un elemento in jQuery 1.8+ devi farlo in questo modo:

$._data($("YOUR-SELECTOR-HERE").get(0), "events")

+3

o in breve: '$ ._ dati ($ (" TUO-SELETTORE-QUI ") [0]," eventi ")' – Mohsenme

Problemi correlati