怪本身知道的太少,img標籤有onerror這個事件,我是纔剛知道,恕我愚昧,既然是第一次遇到,並且又是一個本身從沒有涉及過得的東西,因此我但願經過這個隨筆來是本身印象深入,此文僅僅只是讓本身印象深入的水文,知道這個事件的諸位盡能夠繞道而行了,若是你也沒有涉及,或者你也未曾知曉這個事件的話,就隨我一塊兒來了解下這個屬性吧.....html
根據w3cschool:瀏覽器
onerror事件會在文檔或圖片加載過程當中發生錯誤時被觸發,支持該事件的HTML標籤有:img,object,style;實例以下:測試
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>onerror 測試</title> <meta name="description" content="" /> <meta name="author" content="" /> </head> <body> <img onerror="onerror=null;src='http://www.lanrenzhijia.com/images/error.jpg'" src="img/f0.jpg"/> </body> </html>
這段代碼中,若是img的src屬性中的圖片不存在,或者發生錯誤,將會觸發onerror事件,error事件將爲src從新加載一張存在的圖片,可是若是onerror中的圖片也不存在吶?htm
若是error的事件也不存在的話,將再次調用onerror,可是error中的圖片也是錯的,因此基於微軟的一套核心的瀏覽器IE就會認爲這是死循環
而後就會報 stack overflow line: 0的錯誤。blog
爲了解決這個問題,因此,通常在onerror中都會先將onerror事件先清除掉(即onerror = null),再進行復制,這樣就不會存在循環調用的問題了事件