我有一個簡單的html,我想要一個事件觸發一次最後一個圖像加載,或者如果最後一個圖像加載時出現錯誤。這裏是我的代碼jquery .one()加載和錯誤事件不起作用
HTML
<div id="compare-table-scrollable">
<img src="www.bla.com/1.png" />
<img src="www.bla.com/2.png" />
<img src="www.bla.com/3.png" />
</div>
jQuery的
var imageCount = $('#compare-table-scrollable img').length;
var counterIMG = 0;
$('#compare-table-scrollable img').one("load error",function(){
counterIMG++;
if (counterIMG == imageCount) // do stuff when all have loaded
{
alert(counterIMG);
}
});
這裏是我的FIDDLE
'load'事件不能可靠地與圖像一起工作。 [這是你可以做的事情](http://stackoverflow.com/questions/3877027/jquery-callback-on-image-load-even-when-the-image-is-cached)。 – Blazemonger
@Blazemonger:'load' events ** do **可靠地與圖像一起工作。你只需要確保你在那裏抓住他們。如果你不是的話(如果你在鉤住事件之前設置了src),你可能會錯過它。這與事件不可靠是不一樣的。 –
@TJCrowder [jQuery開發人員熟知,如果圖像被緩存,瀏覽器的正常'load'事件可能根本不會被觸發。](http://api.jquery.com/load-event/ )你似乎在描述「在某些情況下可靠」,這根本不是我所認爲的「可靠」。 – Blazemonger