2016-07-29 88 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謝謝 –