我有一个asp.net控件,它通过重复控件加载dyanmically。 如果没有加载图像src或者在图像元素上触发错误事件,我只想要一个替代图像,但它不能正常工作
<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/WebSiteImage/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)
});
但即使图像存在,这也无效,此事件被触发,我没有找到图像找到图像 难道我做错了什么。 请帮忙
答案 0 :(得分:1)
事件名称为error
,而非onerror
。另一个问题是,您必须提供一个在事件发生时调用的函数,而不是立即调用它。
item.addEventListener('error', function(){ callImageError(item) });