jQuery error事件

admin發表於2017-02-18

當jQuery執行遇到錯誤時觸發error事件。

一個jQuery的error事件處理函式不應該附加到window物件上。當一個指令碼錯誤的時候,瀏覽器就會觸發window的error事件。無論如何, window的error事件接收不同的引數和返回值與傳統的事件不一樣。若要繫結window的error事件,請使用window.onerror代替。

這個事件處理程式必須在瀏覽器觸發error事件之前繫結,這就是為什麼示例繫結的處理函式後設定src屬性。此外,當頁面儲存到本地的時候此事件可能無法正確觸發。由於error依賴於正常的HTTP狀態碼,如果URL使用file:協議,它通常不會被觸發。

語法結構一:

[JavaScript] 純文字檢視 複製程式碼
.error(handler(eventObject))

引數解析:

(1).handler:事件處理函式;eventObject是傳遞給事件處理函式的時間物件。

jQuery1.0版本新增。

語法機構二:

[JavaScript] 純文字檢視 複製程式碼
.error([eventData ], handler(eventObject))

引數解析:

(1).eventData:可選,當一個事件被觸發時,要傳遞給event.data的資料。

(2).handler:事件處理函式;eventObject是傳遞給事件處理函式的時間物件。

jQuery1.4.3版本新增。

特別說明:從jQuery1.8開始,error()方法已被宣告過時。使用on("error", handler)來代替。

程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="https://code.jquery.com/jquery-3.0.0.js"></script>
<script type="text/javascript"> 
$(document).ready(function(){ 
  $("img").on("error",function(){ 
    $("img").replaceWith("<div>圖片未能成功載入!</div>"); 
  }); 
}); 
</script> 
</head> 
<body> 
<img src="images/logo.gif" alt="螞蟻部落" /> 
<div>如果圖片未能成功載入,則圖片位置會有提示文字出現</div> 
</body> 
</html>

由於圖片確實不在伺服器存在,所以會出現提示。

相關文章