2017-07-13 6 views
2

Ich habe ein asp.net Steuerelement, das mit wiederholten Steuerelementen dyanisch geladen wird. Ich möchte nur ein alternatives Bild, wenn Bild src nicht geladen oder ein Fehlerereignis ist auf einem Bildelement gebrannt, aber es funktioniert nichtaddEventListener onerror und Fehlerereignis funktioniert nicht

<asp:Image ID ="test1" ImageUrl="test1.jpg" runat="server" CssClass="NotFoundMain" /> 
<asp:Image ID ="test2" ImageUrl="test14.jpg" runat="server" CssClass="NotFoundMain" /> 

$(document).ready(function() { 

     function callImageError(test) { 
      console.log(test) 
      alert() 
     test.setAttribute('src', './Image/CaratLineImages/ImageNotAvailable.jpg'); 
    } 

    function gotImageElement(item) { 
     item.addEventListener('onerror', callImageError(item)); 
//  item.onerror(callImageError(item)) 
    } 

    var mImg = document.getElementsByClassName("NotFoundMain"); 
    for (var i = 0; i < mImg.length; i++) { 
      gotImageElement(mImg[i]) 
     } 
     //mImg.forEach(gotImageElement) 
    }); 

Aber das funktioniert nicht, auch wenn Bild gibt es dieses Ereignis ausgelöst wird, und ich bekomme kein Bild gefunden Bild Mache ich etwas falsch. Bitte helfen Sie

+0

nicht zu Ihrem Problem zu tun hat, sondern ein Image Control verwendet 'ImageUrl', nicht' src' – VDWWD

+0

Es tut sich, dass es ein Tippfehler war aber die Hauptsache, warum mein Fehlerereignis nicht funktioniert, ist es immer feuert für jedes Element –

Antwort

0

Der Name des Ereignisses ist error, nicht onerror. Ein weiteres Problem besteht darin, dass Sie eine Funktion bereitstellen müssen, die beim Auftreten eines Ereignisses aufgerufen wird, anstatt sie sofort aufzurufen.

item.addEventListener('error', function(){ callImageError(item) }); 
+0

Ich versuchte beide, beide funktionieren nicht –

+0

@ParshuramKalvikatte Es kann auch ein Problem mit '$ (Dokument) .ready' sein. Wenn das Dokument bereit ist, wurden wahrscheinlich "Fehler" -Ereignisse bereits ausgelöst. Sie müssen Ihre Listener registrieren, bevor es passiert. –

Verwandte Themen