어떤 이유로 인해 .load
메서드가 작동하지 않는 것 같습니다. 여기 내 JQuery와의 :동적으로로드 된 이미지 반환 outerHeight 0 (jQuery)
$(document).ready(function() {
var imgHeight;
$('body').prepend('<img src="http://farm9.staticflickr.com/8266/8653931785_4a8d43164f.jpg" class="select" />');
if($('img.select').prop('complete')) {
imgHeight = $('img.select').outerHeight();
}else{
$('img.select').load(function() {
imgHeight = $('img.select').outerHeight();
});
}
$('body').prepend('<p>Image Height: ' + imgHeight + '</p>');
});
및 예 후 jsfiddle
에 대한 링크가 몇 번을 실행 (나는 이미지가 캐시 가정) 성공적 정확한 높이를 검색합니다. 이것은 if($('img.select').prop('complete'))
이 제대로 작동하고 있음을 알려줍니다.
무엇이 여기에 있습니까?
(크롬과 FF 테스트)
편집 : 좋아, 지금은 그들이로드하는 경우 하나 개 이상의 이미지를 확인하려면 어떻게? $('img.select').prop('complete')
은 선택기와 일치하는 첫 번째 요소 만 테스트합니다. http://jsfiddle.net/hcarleton/2Dx5t/6/
감사합니다. –
load()는 함수가 아닌 콜백 함수를 사용하여 이벤트를 바인딩하는 데 사용됩니다. 비동기 함수 .load()가 있지만 다른 시그널이 있습니다. –
또한 jquery 1.8에서 load() 이벤트 핸들러가 더 이상 사용되지 않습니다. 내 대답을 업데이트 할게. – cfs