2013-03-12 4 views
0

이미지 갤러리가 있습니다. 사용자가 썸네일 아약스 요청을 클릭하면 갤러리에 미리보기 이미지가 생성됩니다. 나는 썸네일 요청을 다시 클릭하면 기존 데이터를 사용해서는 안된다. 네, 다음 아약스 전화를하지 않는 경우이미 ajax 데이터를 요청했는지 확인할 수 있습니까?

$.getJSON(url, function(data) { 

} 

은 내가 JS 객체를 원하고 클릭이 썸네일을 수행 할 때 해당 객체의 모든 이미지의 JSON 데이터를 유지, 첫 번째 검사가 이미 데이터를로드 한 경우 단순히 개체에 데이터를 보유해야 이전에 가져온 데이터를 사용합니까 ?? 경우 예! 그럼 내가 어떻게 할 수 있니?

+0

그냥 플래그와 같은 변수를 설정을 사용합니다. –

+0

@Diodeus 예를 들려주세요! –

답변

2

초기 클릭 이벤트를 .one으로 바인드 한 다음, 아약스를 요청한 후 새 클릭 이벤트를 바인딩합니다.

$(".thumbnail").one("click",function(){ 
    var request = $.getJSON(url); 
    $(this).on("click",function(){ 
     request.done(function(data){ 
      // do something with data when it is available 
     }); 
    }).triggerHandler("click"); 
}); 

다음 데이터를 요청하는 데이터를 사용할 각 썸네일의 첫 번째 클릭은, 이후의 각 클릭은 데이터

+0

이것은 좋은 예제이며 잘 작동합니다! 거기에 다른 방법입니다 그래서이 함수 외부 데이터 개체를 얻을 수 있으며 모든 개체를 검사하는 현재 하나와 일치하는! if ([imageObj1, imageObj2, imageObj3] == imageObj2)와 같은 것이 가능합니까? –

+0

'if ([imageObj1, imageObj2, imageObj3] == imageObj2)'로 어디로 가고 있는지 이해할 수 없다. 문자 그대로 같은 객체가 아니라면 한 객체는 다른 객체와 결코 같지 않을 것이다. –

+0

확인. 도와 주셔서 감사합니다. –

관련 문제