sorun nedeniyle (örneğin onclick
), onerror
olay kabarcıklar halinde varlık değildir diğer etkinliklerinden farklı olarak, belge nesne üzerinde error
olay için event delegation
kullanamazsınız olmasıdır olmadığından emin am belge nesnesine. yerine bağlayıcı
kullanın, normal bir olay:
$('img').on("error", function() {
this.src = ResolveUrl("~/images/tree-item.png");
});
- P.S. - Bu, bu komut çalıştırıldığında DOM zaten görüntülerde sadece çalışacaktır.
Eğer DOM eklediğiniz her görüntüye bu olayı eklemek gerekir, hem de dinamik olarak eklenen görüntüleri işlemek için.
Ben, onun eski bir soru, ama belki birisi daha iyi bir çözüm arayan biliyorum
function handleError() {
this.src = ResolveUrl("~/images/tree-item.png");
}
// Bind the event to the existing images on the DOM when the document is ready
$(document).ready(function() {
$('img').on("error", handleError);
}
// An example for a function that adds images dynamically
function addImage(imgSource, destination) {
var newImg = $("img").attr("src", imgSource)
.on("error", handleError);
$(destination).append(newImg);
}
ResolveUrl() kodu nerede? – Unknown
Bu bir istemci tarafı işlevi. Hatta onu kaldırıyorum uyarısı tetiklemiyor – user960567
'error' olayını kullanarak 'document' üzerinde olay temsilci çalıştırabilirsiniz emin değilim. Yanılmıyorsam, bu olay belge nesnesine gelmez. – Itay