2012-05-28 3 views
6

로드 후 사용자 상호 작용을 통해 페이지에 이미지를 동적으로 추가하고 이미지가 완전히로드 된 후 함수를 실행하는 데 문제가 있습니다. 나는 jQuery의 .load() 메소드를 사용하는 것이 좋겠다고 생각했다. 그러나 내 콘솔과 문서화 된 내용에 따라 .log 비즈니스는 결코 실행되지 않는다. 아래를 참조하십시오 .. 감사합니다!jQuery 이미지로드 콜백

$('body') 
    .append('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />') 
    .load(function(){ 
     console.log('ad load complete'); 
     $('#submit').click(); 
    }); 

는 UPDATE :

명확히하기 위해,이 두 documentwindow 부하 후입니다.

답변

15

코드에서 .load()은 체인으로 인해 body과 관련이 있습니다.

var img = $('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />'); 
img.load(function(){ 
    console.log('ad load complete'); 
    $('#submit').click(); 
}); 

$('body').append(img); 

그것을 당신이 당신의 기능을 결합되도록, 추가] 기능을 포함하는 요소가 아닌 추가 된 하나를 반환 (http://jsfiddle.net/zerkms/f7epb/)

0

작동합니다 :

변경 코드 신체의 하중이 아니라 img.

$('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />') 
.load(function(){ 
    console.log('ad load complete'); 
    $('#submit').click(); 
}) 
.appendTo($('body')); 
: 나는, appendTo를 사용하므로 같은 제안