Javascript 检查.ajax请求之后加载的所有图像?

Javascript 检查.ajax请求之后加载的所有图像?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我需要知道何时从附加的html源加载所有图像以执行另一个功能。我该怎么查呢 $(document).ready(function () { $('a.load-more').click(function (e) { e.preventDefault(); $.ajax({ type: "GET", url: $(this).attr('href'), data: { page: last_id

我需要知道何时从附加的html源加载所有图像以执行另一个功能。我该怎么查呢

$(document).ready(function () {
  $('a.load-more').click(function (e) {
    e.preventDefault();
    $.ajax({
        type: "GET",
        url: $(this).attr('href'),
        data: {
            page: last_id
        },
        dataType: "script",

        success: function () {
            $('.load-more').show();
        }
    });
  });
});
我添加了如下html源代码:

$('.container').append('<%= escape_javascript(render(:partial => @items)) %>');
<ul class="container">
  <%= render @items %>
</ul>
$('.container')。追加('@items))%>;
它成功地提供了html源代码,但我无法确定何时加载来自该源的所有图像

.每次单击链接时,容器都会更新

.container源如下所示:

$('.container').append('<%= escape_javascript(render(:partial => @items)) %>');
<ul class="container">
  <%= render @items %>
</ul>

在所有支持事件捕获阶段的浏览器上,您可以为所有新添加的图像捕获onload事件:

document.addEventListener(
    'load',
    function(event){
        var elm = event.target;
        if( elm.nodeName.toLowerCase() === 'img' && $(elm).closest('.container').length && !$(elm).hasClass('loaded')){ // or any other filtering condition
            console.log('image loaded');
            $(elm).addClass('loaded');
            if($('.container img.loaded').length === $('.container img').length) {          
                // do some stuff
                console.log("All images loaded!")
            }
        }
    },
    true // Capture event
);

要支持不处理捕获阶段的IE8,您应该在DOM中添加特定图像后,将onload事件设置为特定图像,并在
script
onload事件中进行设置。

何时发生
append()
?它似乎与您正在进行的AJAX调用无关。它发生在单击链接时。它将重复多次。它是什么?AJAX调用,还是追加?append与AJAX调用有什么关系?在这里,查看更完整的代码示例会有很大帮助。您需要支持IE8吗?@a.Wolff谢谢!在我在其他地方工作之后:)我应该检查附加的html源上的每个图像吗?这将是他们的恐惧…onload事件将捕获任何图像。我不太明白你的问题?编辑:好的,我明白你的意思了。
我需要知道从附加html加载所有图像的时间。
所以,你应该计算附加html中的所有图像,并设置一个计数器,在加载所有图像后进行检查。我认为你是天才!非常感谢。将要实现:)我在本地主机控制台中加载了“所有映像”,但无法进入生产服务器。你知道为什么吗?这是生产示例——点击“Rodyti daugiau”有时有效,但有时刷新页面无效。。有趣!