javascript - Funkce JQuery error() nefunguje v IE
Mám následující prvek obrázku, jehož src neexistuje. Chci použít jQuery funkci error, abych zjistil, zda se obrázek nenačetl, a nahradit src obecnějším obrázkem, o kterém vím, že existuje. To funguje v Chrome a Firefoxu, ale ne v IE. Proč to v IE nefunguje a existují nějaké řešení? Děkuji!
<img id="main" src="missing-image.jpg" />
<script type="text/javascript">
$(function () {
$("#main").error(function () {
$("#main").attr("src", "generic.jpg");
});
});
</script>
Odpověď č. 1
Problém s načasováním?
DEMO ZDE
<img id="mainImage" src="placeholder.jpg" />
<script type="text/javascript">
$(document).ready(function() {
$("#mainImage").error(function () {
$(this).attr("src", "generic.jpg");
});
$("#mainImage").attr("src","possibly_missing_image.jpg");
});
</script>
Odpověď č. 2
Narazil jsem na stejný problém s IE a nastavení img src na samotný sebe poskytlo IE dost času na zachycení chyby obrázku
$(document).ready(function() {
$("#mainImage").error(function () {
$(this).attr("src", "generic.jpg");
})
.each(function() {
$(this).attr("src",$(this).attr("src"));
});
});
