2016-07-29 52 views
0

我想绑定img与函数的onerror。图像标记jQuery中像这样创建绑定onError与动态创建的图像标记在jquery

this._img1 = $("<img>"); 

这是功能

function imgError(image) { 
    image.onerror = ""; 
    image.src = '/Content/img/placeholder-profile.jpg'; 
    return true; 
} 

现在我想这个功能绑定的onerror ... 我已试过的东西,他们不会工作我

this._img1.on("onError", "imgError(" + this._img1 + ")"); 

this._img1.prop("onError", "imgError(this)"); 

this._img1.error(function() { 
    _img1.src = '/Content/img/placeholder-profile.jpg'; 
}); 

任何人都可以建议我怎么能实现呢?

+1

什么是'this._img1'?我想这是一个DOM节点元素,而不是jq对象。所以你必须把它包装在jq对象中以使用jq方法:'$(this._img1).on('error',function(){_ img1.src ='/Content/img/placeholder-profile.jpg' ;});'。或者使用本机js方法绑定事件 –

+0

@A。 Wolff 'this'是其中包含所有其他元素并显示结果的主要div元素。这实际上是jquery小部件调用。 –

回答

0

你可以实现这个功能只需使用jquery的.error()。将事件处理程序绑定到“错误”JavaScript事件。

Type: Function(Event eventObject) 

触发事件时执行的函数。

错误事件被发送到由文档引用并由浏览器加载的元素,例如图像。如果元素未正确加载,则会调用它。

例如,考虑一个页面利用简单的图像元素:

<img alt="Book" id="book"> 

事件处理程序可以被绑定到图像:

$("#book") 
    .error(function() { 
    alert("Handler for .error() called.") 
    }) 
    .attr("src", "missing.png"); 

如果图像不能被加载(例如,因为它不在提供的URL中),所以显示警报:

调用.error()的处理程序。

+0

我也试过,因为你可以看到,在我的问题,但它不会工作....不知道为什么:( –

+0

,而你创建一个img标签,然后也创建它的id,然后你将能够访问它。 –

+0

请给我看你的控制台错误和您当前在JSfiddle谢谢 –