2010-06-04 9 views
7
$(document).ready(function() { 
    function GetDeals() { 
    alert($(this).attr("id")); 
} 

$('.filterResult').live("click", function(event) { 
    GetDeals(); 
}); 

});

¿Qué necesito pasar como argumento en la función GetDeals() para que pueda manipular con $(this)?

¡Gracias de antemano!

Respuesta

14

Se podía utilizar la función como su identificador de evento:

$('.filterResult').live("click", GetDeals); 

(Tenga en cuenta que usted no utiliza el () llamar a la función, por lo que la función en sí está siendo pasado a la función live(), no su resultado.

O puede utilizar Function.prototype.apply()

$('.filterResult').live("click", function(event) { 
    GetDeals.apply(this); 
}); 
+1

gracias, ambas soluciones funcionan :) –

4

Por encima de las obras de solución y absolutamente ningún problema con ese. Sin embargo, creo que un mejor patrón aquí es:

$('.filterResult').live("click", function(event) { 
    GetDeals($(this)); 
}); 


function GetDeals(linkObj) { 
    var id = $(linkObj).attr("id"); 
    console.log(id); 
} 
Cuestiones relacionadas