0
jQuery(document).ready(function() {
    jQuery('#submit').click(function() {    jQuery("#LoadingImage").show();
        jQuery('#imgRESULT').html('<img id="image1" src="http://johndoe.com/foo.php?username1=' + jQuery('input[name=username1]').val() + '&amp;username2='+ jQuery('input[name=username2]').val() +    '" >');
    });

$('#image1').on("load", function() {
    $("#LoadingImage").hide();
});});

事情是加载图像的div,生成的图像生成时不会隐藏。

关于如何让它发挥作用的任何想法?

4

1 回答 1

3

由于load事件不会冒泡,因此您不能在此处使用事件委托(关于动态插入的元素的标准建议是什么)

所以你最好的方法是直接将加载事件放在新创建的图像节点上。

jQuery('#imgRESULT').empty().append($('<img>', {
    id:    'image1',
    src:    'http://johndoe.com/foo.php?username1=' + jQuery('input[name=username1]').val() + '&amp;username2='+ jQuery('input[name=username2]').val(),
    load:   function() {
        $("#LoadingImage").hide();
    }
}));
于 2012-12-23T22:21:05.983 回答