jQuery JSON flickr提要返回false不工作

jQuery JSON flickr feed return false not working

本文关键字:false 工作 返回 JSON flickr jQuery      更新时间:2023-09-26

我正试图使用JSON将用户Flickr提要中的图像拉到缩略图库中,然后希望在这些图像上创建一个链接,以创建实际图片的灯箱。

目前,脚本可以很好地提取图像并创建锚,但当我点击图像时,尽管我添加了"return false",我仍然会从页面上转到页面URL。

仅供参考,有一个id为"图像"的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

我认为您需要将您的点击处理程序与.on()函数绑定,如下所示:

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

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

原因是在您尝试进行绑定时,您的图像不存在于DOM中,因此需要使用委托事件。或者,您可以使用"#images"将处理程序附加到UL元素,而不是绑定到文档。基本上,你想在一个元素上设置这个处理程序,该元素将包含你感兴趣的动态生成的元素来响应点击。