2012-12-23 58 views
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,生成生成圖像時不會隱藏。的Javascript「上。(‘負荷’,」不工作

如何得到這個工作有什麼想法?

+0

首先想到的是圖像可能在事件被綁定之前加載。嘗試在設置src屬性之前綁定load事件。 – Corbin

+3

不要對圖片使用jQuery'load'事件...閱讀有關圖像問題的文檔中的免責聲明以及這裏的許多帖子http://api.jquery.com/load-event/ – charlietfl

+0

關於使用什麼的任何想法然後? – EliteDK

回答

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(); 
    } 
})); 
+0

無法得到這個工作。 '未捕獲的SyntaxError:意外的標記:' – EliteDK

+0

+1:我在再次閱讀文檔後才注意到它的確存在冒泡問題。我刪除了我的答案,因此委派沒有工作。好一個。 – Nope

+0

@FrançoisWahl:無論如何,我想知道關於jQuery文檔的那部分內容。 「加載事件」不會冒泡,它不會使用jQuery或者香草色的javascript。 – jAndy