函数调用要在页面完全下载之后进行
Page.RegisterStartupScript("", " <script>window.onload=javascript:document.body.onload= function(){var imgerror = new ImageError()} </script>");
Page.RegisterStartupScript("", " <script>window.onload=javascript:document.body.onload= function(){var imgerror = new ImageError()} </script>");
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
不存在覆盖啊,var ImageError = Class.create();
此时 ImageError = function(){ this.initialize.apply(this, arguments); }
之后改写prototype,没有问题
问题根本的原因是 onError 没有写在 Img 标签内部,比如:<Img onError="errFunc()" src="123.jpg"/>;通过Js动态绑定的 onError 执行不到!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title> <script type="text/javascript" language="javascript">
window.onload = function()
{
var arrImg = document.getElementsByTagName("img");
alert("图片张数:" + arrImg.length);
for (var i = 0; i < arrImg.length; i++)
{
arrImg[i].onError = function() {
alert('我是动态绑定的!')
}
}
}
</script></head>
<body>
<img src="错误的图片地址" onError="alert('我是写在标签里的!')"/>
</body>
</html>
注意弹出窗口的顺序:一、我是写在标签里的!
二、图片张数:1根本没有执行到 alert('我是动态绑定的!'),楼主可以手动在 Img标签里边添加 onError 处理函数尝试一下.