2013-12-15 183 views
0

我試圖從用戶Flickr feed中使用JSON將圖像拉入縮略圖庫,然後想要創建一個創建實際圖片的燈箱的鏈接。jQuery JSON flickr feed返回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是有什麼很瞭解這個,這是造成因爲我認爲它應該是不行昭然若揭。

謝謝:)

MATT

回答

0

我認爲你需要與.on()功能的函數clickhandler綁定代替,就像這樣:

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

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

這樣做的原因是在您嘗試進行綁定時,您的圖片不存在於DOM中,因此您需要使用委派的事件。或者,您可以使用"#images"將處理程序附加到您的UL元素上,而不是綁定到文檔。基本上你想要在一個元素上設置這個處理程序,這個元素將包含你感興趣的動態生成元素來響應點擊。