javascript的img圖片IE下onload事件第二次無法觸發

antzone發表於2017-03-26

在實際應用中可能會動態的載入圖片,如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
var img=new Image();
img.src="delete.gif";
img.onload=function(){
  var iheight=img.height;
  var iwidth=img.width;
};

上面你的程式碼在第一次執行的時候在所有的瀏覽器都能夠正常執行,但是當第二次執行的時候IE9以下瀏覽器不能夠觸發onload事件,這是由於瀏覽器快取導致的,解決方案也非常的簡單,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var img=new Image();
img.onload=function(){
  var iheight=img.height;
  var iwidth=img.width;
  alert(iwidth);
};
img.src="delete.gif";

上面的程式碼就是調換了一下img.src="delete.gif"和事件處理函式的順序。

相關文章