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

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

});

De quoi ai-je besoin pour passer en argument dans la fonction GetDeals() afin que je puisse manipuler avec $(this)?

Merci d'avance!

Répondre

14

Vous pouvez simplement utiliser la fonction que votre poignée d'événement:

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

(s'il vous plaît noter que vous n'utilisez pas le () pour appeler la fonction, de sorte que la fonction elle-même est passée à la fonction live(), pas son résultat.

Ou vous pouvez utiliser Function.prototype.apply()

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

merci, les deux solutions fonctionnent :) –

4

Au-dessus de solution fonctionne et absolument aucun problème avec ça. Cependant, je crois qu'un meilleur modèle est ici:

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


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