javascript - JQuery error()-funktionen fungerar inte i IE
Jag har följande bildelement vars src inte existerar. Jag vill använda jQuerys error-funktion för att upptäcka om den inte har laddats och ersätta src med en generisk bild som jag vet att den finns. Detta fungerar i Chrome och Firefox men inte i IE. Varför fungerar detta inte i IE och finns det några lösningar? Tack!
<img id="main" src="missing-image.jpg" />
<script type="text/javascript">
$(function () {
$("#main").error(function () {
$("#main").attr("src", "generic.jpg");
});
});
</script>
Svar #1
Timingproblem?
DEMO HÄR
<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>
Svar #2
Jag stötte på samma problem med IE och genom att sätta img src till sig själv gavs tillräckligt med tid för att IE skulle upptäcka bildfelet
$(document).ready(function() {
$("#mainImage").error(function () {
$(this).attr("src", "generic.jpg");
})
.each(function() {
$(this).attr("src",$(this).attr("src"));
});
});
