我正在尝试使用JSON将用户Flickr Feed中的图像拉到缩略图库中,然后想要在其上创建一个链接来创建实际图片的灯箱。
目前脚本正常工作以拉动图像并创建锚点,但是当我点击图像时,虽然我添加了“return false”,但我仍然从页面和页面URL中删除。 / p>
仅供参考,有一个id为'images'的ul部分
<script>
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
{
id: "37493306@N00",
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>
告诉我,是否有一些相当明显的事情导致它无法正常工作。
谢谢:)
MATT
答案 0 :(得分:0)
我认为您需要使用.on()
函数绑定您的clickhandler,如下所示:
$( document ).on( "click", "a.flickr", function(evt) {
evt.preventDefault();
return false;
});
这样做的原因是,在您尝试进行绑定时,您的图像不存在于DOM中,因此您需要使用委派事件。或者,您可以使用"#images"
将处理程序附加到UL
元素,而不是绑定到文档。基本上你想在一个元素上设置这个处理程序,该元素将包含你有兴趣响应点击的动态生成的元素。