2012-06-18 41 views
1

我正在頁面中創建一些圖像。當我寫<img src=somesrc, onerror=othersrc></img>時,它工作正常。使用jQuery創建帶有onerror屬性的img

但是,當我使用創建圖像的jQuery它失敗:

jQuery('<img />', { 
    onerror: "javascript: this.src='some_default_image_source'", 
    src: 'image_source'}).appendTo("#container"); 

如何解決這個問題?

+1

*但是當我使用jQuery創建圖像時,它失敗了*它是如何失敗的?究竟是什麼失敗? –

+0

@FelixKling ** onerror **代碼沒有得到執行,因此默認圖像沒有加載。 – onemach

回答

6
jQuery('<img />').error(function() { 
    this.src = 'some_default_image_source'; 
}).attr('src', 'image_source').appendTo("#container"); 
+0

在jq 1.5中不起作用,但更改爲'.error'並且正常工作。謝謝 – onemach

2
+0

發現它適用於jQuery1.7,但不適用於1.5 – onemach

+1

總是一個好主意,指定是否使用舊版本的庫並且不提供演示/鏈接。 – Sinetheta

+0

我想讓這個事件對未來的img元素也有用。所以我使用'$(document).on('error','img',function(){'而不是'$('img')。on('error',function(){'但現在不是工作。任何解決方案?? –