2011-03-27 15 views
13
$(".song").live('click', function songClick() { 
    //do stuff 
}); 

¿Puede nombrar una función como la de arriba y luego llamarla en un momento posterior? Lo intenté, pero no funcionó. ¿Tengo que pasarle un evento?Nombrando funciones jQuery

Respuesta

13

Sólo un nombre como una función independiente y llamarlo desde live():

function songClick() { 
    // do stuff 
} 

$(".song").live('click', songClick); 

nota la falta de parens en el método live().

1

Puede definir la función antes de el código jquery, luego simplemente pase el nombre a jquery; es decir,

function songClick() { 
    //do stuff 
} 
$(".song").live('click', songClick); 

También podría utilizar songClick() en otros lugares.

10

Nota por el amor de referencia:

El método directo se eliminó en la versión 9. Cualquiera que venga a través de esta pregunta ahora debe utilizar en() en su lugar. Pero, de lo contrario, debería funcionar igual que las respuestas anteriores.

function songClick() { 
//code 
} 

$(".song").on('Click', songClick); 


Si sólo desea que el controlador de eventos para ejecutar una vez que también se puede utilizar una() también.

Cuestiones relacionadas