如果找不到源图像,我正在使用以下JavaScript函数隐藏我网页上的图片:
function Image_OnError(image) {
image.onerror = "";
image.style.visibility = "hidden";
return true;
}
我将以下属性添加到我的图片中,如果发生错误onerror="Image_OnError(this);"
,则会调用上述方法。
问题是我需要对<input type="image" />
元素执行相同的操作,但无法弄清楚如何执行此操作,因为输入元素似乎没有OnError
事件。
我可以只包含一个与输入相同的src值的额外图像,然后在图像的OnError事件中修改输入元素的可见性,但这看起来有点乱。
答案 0 :(得分:2)
如果您想要半黑客,可以使用jQuery的“document.ready”事件,并检查输入的高度。
编辑:回答你回答上面的飞行员问题... 你可以使用asp:LinkButton,并将图像内容包装为内容 ...然后使用LinkButton的OnCommand事件。
答案 1 :(得分:0)
它有同样的错误事件。这个适用于我(至少在chrome中):
<input type="image" onerror="alert(1);" src="http://xxx" />
另一种可能的方法是在JS中加载图像:
关于文档加载:
$('input[type="image"]').each(function(){
var img = new Image();
var input = this;
img.onerror = function() { Image_OnError(input); }
img.src = this.src;
})
此外,您最好从头开始隐藏它们,并仅显示已成功加载图像的元素。否则你可能会在页面上跳过元素。