【问题标题】:jQuery JSON flickr feed return false not workingjQuery JSON flickr 提要返回 false 不起作用
【发布时间】:2013-12-15 17:16:22
【问题描述】:

我正在尝试使用 JSON 将用户 Flickr 提要中的图像提取到缩略图库中,然后想要一个链接,用于创建实际图片的灯箱。

目前脚本可以正常工作以提取图像并创建锚点,但是当我单击图像时,虽然我添加了“return false”,但我仍然会离开我的页面并转到页面 URL。

仅供参考,有一个 ul 部分的 id 为 'images'

<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>

告诉我,这是否有一些非常明显的东西导致它无法按我认为的那样工作。

谢谢:)

亚光

【问题讨论】:

    标签: javascript jquery html json flickr


    【解决方案1】:

    我认为您需要将 clickhandler 与 .on() 函数绑定,如下所示:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-09-23
      • 2015-07-13
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      • 2018-10-18
      • 2018-12-05
      • 1970-01-01
      相关资源
      最近更新 更多