在onerror函数中重写img标记的onerorr函数

时间:2014-05-27 15:13:02

标签: javascript jquery html

这里我有一个标签来显示图像;
我希望它显示如下:
如果存在1.jpg,显示1.jpg。
否则如果存在2.jpg show 2.jpg
否则显示3.jpg

<img src="1.jpg" onerror="this.scr='2.jpg';this.onerror='this.src=3.jpg'" />

它出错了;但是可以这样做吗?

1 个答案:

答案 0 :(得分:2)

将处理程序放在一个单独的JS函数中:

function image_failover(img) {
    img.onerror = function() {
        img.src = '3.jpg';
    }
    img.src = '2.jpg;
}

<img src="1.jpg" onerror="image_failover(this)" />

使用上述功能,您可以根据需要级联任意数量的嵌套onerror处理程序。虽然如果它变长,你可能应该将所有图像放在一个数组中,并且只需让处理程序在每次调用时递增一个索引。