2012-08-31 21 views
21

¿Cómo encontrar controladores de eventos en un objeto en jQuery 1.8+?jQuery 1.8 encontrar controladores de eventos

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

parece una buena pregunta, puede probarlo en este js http://jsfiddle.net/968jj/ violín – Blowsie

Respuesta

30

Utilice la función de datos as is done by jQuery internally.

En las versiones anteriores, se puede llamar así como por otros datos:

obj.data('events'); 

En jQuery 1.8, this direct access was removed, por lo que en las versiones recientes se debe llamar de esta manera:

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

Puede verlo en acción abriendo la consola en este violín: http://jsfiddle.net/8TpeP/2/

+1

esto no funciona en 1.8, se prueba por sí mismo aquí http: // jsFiddle. net/968jj/ – Blowsie

+1

@Blowsie Sí, he editado después de haber probado –

+1

¿tiene un enlace a un ejemplo de trabajo? – Blowsie

5

para encontrar controladores de eventos de un elemento en jQuery 1.8+ tienes que hacer de esta manera:

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

+3

o brevemente: '$ ._ data ($ (" YOUR-SELECTOR-HERE ") [0]," eventos ")' – Mohsenme

Cuestiones relacionadas