onerror事件没有奏效

时间:2016-11-29 18:58:19

标签: javascript events web web-deployment onerror

我尝试创建代替另一个src图像的代码。我想使用函数invalidUrl():

function invalidUrl() {
    paint.src = randomvariable;
}

但是这个功能没有运行:<

var paint = '<img src="' + url + '"class="heightImg" onerror="invalidUrl()"/>' + '</br></br>' + description;

如果当前图片不存在,如何更改src图像?

2 个答案:

答案 0 :(得分:1)

paint.src // undefined

这是因为paint是“string”类型而字符串没有“src”属性。

您可以使用vanilla JavaScript构建img元素:

var paintedElement = document.createElement("img");
paintedElement.src = url;
paintedElement.class = "heightImg";
paintedElement.onerror = function invalidUrl() { 
     paint.src = randomvariable;
};
paintedElement.innerHTML = "</br></br>" + description;
// append where you need to append paintedElement

答案 1 :(得分:-1)

如果您愿意使用jQuery,可以创建一个元素:

var paintelement=$('<img src="' + url + '"class="heightImg"/>' + '</br></br>' + description);
paintelement.attr('src','wherever');
paintelement.appendTo('#somewhere');
paintelement.on('error',function(){paint.src = randomvariable;});