내가이jquery load 이벤트 가끔 작동하지 않는 이유는 무엇입니까?
$(img).bind('load',function(){
console.log('loaded');
});
같은 것을 사용하고 분명히 작동하지만, 페이지가 캐시 행사에서 이미지를로드 할 때 트리거되지 않습니다.
이 상황을 어떻게 해결할 수 있습니까?
내가이jquery load 이벤트 가끔 작동하지 않는 이유는 무엇입니까?
$(img).bind('load',function(){
console.log('loaded');
});
같은 것을 사용하고 분명히 작동하지만, 페이지가 캐시 행사에서 이미지를로드 할 때 트리거되지 않습니다.
이 상황을 어떻게 해결할 수 있습니까?
Fount it! 각 이미지에 .complete 속성 (부울 값)이 있으므로로드 이벤트를 바인딩하기 전에 확인해야합니다.
$("img").one('load',function(){
console.log('loaded');
}).each(function() {
if(this.complete) $(this).load();
});
.one()
이 두 번 발생하지 않습니다 보장 :
이미지가 캐시에 저장되는 경우이 이벤트는 일부 브라우저에 트리거되지 않습니다, 당신은이처럼 .complete
속성을 확인해야한다는 것을 해결하기 위해 .each()
부분은 직접 load
이벤트를 수행하지 않는 캐시 된 이미지에 대해 이벤트를 수동으로 실행하고 있습니다.
나는이 대답에 신용 $$$을 줄 것이다. –