Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何捕捉在同一页面上多次加载的图像上的图像加载事件?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何捕捉在同一页面上多次加载的图像上的图像加载事件?

Javascript 如何捕捉在同一页面上多次加载的图像上的图像加载事件?,javascript,jquery,html,Javascript,Jquery,Html,我有一个动态变化的页面,在其中的图像插入在某个时间或其他。 我想知道图像(具有给定的img src、alt属性)加载到此页面的每个时间实例。 **PS页面上可以有任意数量的图像(相同类型)。 图像不会被缓存,而是动态地插入到页面中 $("img").one("load", function() { // do stuff }).each(function() { if(this.complete) $(this).load(); }); 上面的代码示例对我不起作用 **在这里,您可以做

我有一个动态变化的页面,在其中的图像插入在某个时间或其他。 我想知道图像(具有给定的img src、alt属性)加载到此页面的每个时间实例。

**PS页面上可以有任意数量的图像(相同类型)。 图像不会被缓存,而是动态地插入到页面中

$("img").one("load", function() {
  // do stuff
}).each(function() {
  if(this.complete) $(this).load();
});
上面的代码示例对我不起作用


**

在这里,您可以做一件事,您可以注册一个DOMNodeInserted事件,当页面中添加任何DOM节点时,该事件将被触发。然后您可以检查添加的元素是否为img。如果它是映像,则可以在其上注册onload事件

$(document).on('DOMNodeInserted', function(event) {
  console.log($(event.target).is('img'));
  if($(event.target).is('img')) {
    $(event.target).one("load", function() {
      // do stuff
      console.log("one", arguments)
    });
  }
});
图像加载示例

$('body').append($("<img src='http://www.freedomwallpaper.com/nature-wallpaper/nature-hd-wallpapers-water.jpg'>"))

您可以继续使用这种方法…

如何在
DOM
中添加
图像?给我们看看你的代码?有很多方法可以从
附加的DOM
中找到
图像
元素@JitinMaherchandani:上述注释是否解决了您的问题?@ParagBhayani不,它没有,因为在我的例子中,图像不是缓存的,而是动态添加到页面中的。您对图像的加载有任何控制吗?或者他们在哪里装载?
setInterval(function() {
    $.each($('img'), function(index, image) {
      console.log(image.complete)
    });
}, 1000)