【问题标题】:jQuery image load callbackjQuery 图片加载回调
【发布时间】:2012-06-03 03:36:00
【问题描述】:

加载后动态添加图片到页面,然后进行用户交互,并且在该图片完全加载后无法触发功能。我认为使用 jQuery 的 .load() 方法会很好.. 但根据我的控制台和一堆文档 .log 业务它从未执行过。见下文..谢谢!

$('body')
    .append('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />')
    .load(function(){
        console.log('ad load complete');
        $('#submit').click();
    });

更新:

澄清一下,这是在document 和window 加载之后。

【问题讨论】:

    标签: jquery callback load image


    【解决方案1】:

    append 函数返回包含元素,而不是附加的元素,因此您将函数绑定到 body 的负载而不是 img。

    我建议使用 appendTo,像这样:

    $('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />')
    .load(function(){
        console.log('ad load complete');
        $('#submit').click();
    })
    .appendTo($('body'));
    

    【讨论】:

      【解决方案2】:

      在您的代码中,.load() 与 body 相关,因为存在链接。

      将代码改为:

      var img = $('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />');
      img.load(function(){
          console.log('ad load complete');
          $('#submit').click();
      });
      
      $('body').append(img);
      

      它应该可以工作 (http://jsfiddle.net/zerkms/f7epb/)

      【讨论】:

        猜你喜欢
        • 2014-07-27
        • 1970-01-01
        • 1970-01-01
        • 2012-02-04
        • 2017-12-02
        • 1970-01-01
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多