2012-08-31 15 views
21

Jak znaleźć programy obsługi zdarzeń na obiekcie w jQuery 1.8+?jQuery 1.8 znajdź programy obsługi zdarzeń

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

wydaje się to dobre pytanie, można przetestować go na ten js Fiddle http://jsfiddle.net/968jj/ – Blowsie

Odpowiedz

30

Użyj funkcji danych as is done by jQuery internally.

W poprzednich wersjach, można nazwać to jak dla innych danych:

obj.data('events'); 

w jQuery 1.8, this direct access was removed, więc w ostatnich wersjach trzeba nazwać tak:

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

Można zobacz to w akcji otwierając konsolę w tym skrzypcach: http://jsfiddle.net/8TpeP/2/

+1

to robi praca w 1,8, przetestować go dla siebie tutaj http: // jsfiddle. net/968jj/ – Blowsie

+1

@Blowsie Tak, edytowałem po przetestowaniu –

+1

masz link do działającego przykładu? – Blowsie

5

aby znaleźć programy obsługi zdarzeń elementu w jQuery 1.8+ musisz zrobić w ten sposób:

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

+3

lub krótko: '$ ._ data ($ (" TWOJ-SELEKTOR-TUTAJ ") [0]," zdarzenia ")' – Mohsenme

Powiązane problemy