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

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

});

내가 $(this)으로 조작 할 수 있도록 함수 GetDeals()에서 인수로 전달해야하는 것은 무엇입니까?

미리 감사드립니다.

답변

14

당신은 당신의 이벤트 핸들로 기능을 사용할 수 있습니다

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

(, 당신은 함수를 호출하는 ()를 사용하지 않는 유의하시기 바랍니다, 그래서 함수 자체가 live() 함수에 전달되고, 하지의 결과.

아니면 Function.prototype.apply()

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

감사합니다, 두 가지 해결책 모두 작동합니다 :) –

4
솔루션 작품 위

와 전혀 문제 사용할 수 있습니다 그것으로. 그러나 여기에 더 좋은 패턴이 있다고 믿습니다 :

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


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