jquery - 追加后动态图像加载?

标签 jquery

我面临的问题是,在我将 div 中的一堆图像(每个 div 一个)附加到容器(div)后,我没有得到 onload 函数..

这是一个包含一堆变量的循环

$('#container').append('<div class="tile" style="position:absolute; top:'+(i*size)+'px; left:'+(j*size)+'px; width:'+size+'px; height:'+size+'px; overflow:hidden;" ><img src="'+map[i][j]+'"/></div>');

所有变量都很好,所有图像都正确加载,但这永远不会起作用

$('.tile img').live('load', function(){
console.log("loaded");
});

$('.tile img').on('load', function(event){
console.log("loaded");
});

我尝试过新的 .on jQuery 函数,但不行..

编辑: [+]添加了.on代码(文档准备好后两个函数都放在右上角)

最佳答案

更新:我尝试了一下,以下策略也适用于新创建的图像上的加载事件。首先,我创建图像,然后将其附加到 div 中,然后再将其附加到文档中。

http://jsfiddle.net/lucuma/sHGm9/1/

$('.slideshow').each(function(i) {

    var $img = $('<img src="..." />').on('load', function(){
        alert('loaded');
    });

    $(this).append( $('<div class="tile" style="" ></div>').append($img) );               
    // you'd need to just use your div example here

});

原答案:

我可以想到两件事..在追加之前添加 on/live 或将其更改为如下所示:

var $img = $('<img src="..." />');

$img.on('load', function() {
    alert('loaded');
});

$('#slideshow').append($img);  // adapted for my example

http://jsfiddle.net/lucuma/sHGm9/

关于jquery - 追加后动态图像加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10807842/

相关文章:

javascript - 返回当前页面时,jQuery ajax 响应不显示

jquery - 如何编辑html元标记中的内容属性?

jQuery - 将输入与现有的选择选项组选项进行比较

javascript - Kendo UI 日期选择器按周捕获

javascript - 使用 jquery 中的 data.split 函数从 csv 文件返回特定行

javascript - 在 IE8 中获取 div 的最后一个 child ?

android - CSS 和 JavaScript 在 Android WebView 中不起作用

javascript - 将 Sprite 与 Jquery 多个图像一起使用

javascript - body onload setTimeout 无引用

javascript - JQuery 改变 CSS 左值