2013-12-15 3 views
0

JSON을 사용하여 사용자의 Flickr 피드를 미리보기 갤러리로 가져 와서 실제 이미지의 라이트 박스를 만드는 링크가 필요합니다.jQuery JSON flickr 피드 반환 false가 작동하지 않음

이미지를 가져 와서 앵커를 만들 때 스크립트가 정상적으로 작동하지만 "반환 false"가 추가되었지만 이미지를 클릭해도 여전히 페이지와 페이지 URL로 이동합니다.

는 참고로, 나는 그것이해야한다고 생각대로 작동하지의 원인이되는 이것에 대해 매우 눈부시게 분명 뭔가가

<script> 

    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", 
    { 
    id: "[email protected]", 
    format: "json" 
    }, 
    function(data){ 
    $.each(data.items, function(i,item) 
    { 

     var link = item.media.m; 
     link = link.replace('_m',''); 
     $('<li><a href="' + link + '" class="flickr" rel="prettyPhoto[gallery1]"><img src="' +  link + '" /></a></li>').appendTo('#images'); 

     if(i==80) return false; 

    }); 
    }); 

    $('a.flickr').click(function(evt) { 
    evt.preventDefault(); 
    }); 
</script> 

이 나에게 '이미지'의 ID로 UL 섹션이 있습니다.

$(document).on("click", "a.flickr", function(evt) { 
    evt.preventDefault(); 
    return false; 
}); 

http://api.jquery.com/on/

이 이유는 다음과 같습니다

감사합니다 :)

매트

답변

0

나는 당신과 같이 대신 .on() 기능을 사용하여 인 clickHandler를 결합 할 필요가 있다고 생각 바인딩을 시도 할 때 이미지가 DOM에 존재하지 않도록 위임 된 이벤트를 사용해야합니다. 또는 문서에 바인딩하는 대신 "#images"을 사용하여 처리기를 UL 요소에 연결할 수 있습니다. 기본적으로 클릭에 응답하는 데 관심이있는 동적으로 생성 된 요소가 포함될 요소에이 핸들러를 설정하려고합니다.