當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JQuery .error()用法及代碼示例


用法
.error( handler ) => jQuery

版本已棄用:1.8,已刪除:3.0

說明:將事件處理程序綁定到 "error" JavaScript 事件。

  • 添加的版本:1.0.error( handler )

    • handler
      類型:Function(Event eventObject)
      觸發事件時執行的函數。
  • 添加的版本:1.4.3.error( [eventData ], handler )

    • eventData
      類型:Anything
      包含將傳遞給事件處理程序的數據的對象。
    • handler
      類型:Function(Event eventObject)
      每次觸發事件時執行的函數。

注意:這個 API 在 jQuery 3.0 中已經被移除;請使用 .on( "error", handler ) 而不是 .error( handler ).trigger( "error" ) 而不是 .error()

error 事件被發送到由文檔引用並由瀏覽器加載的元素,例如圖像。如果元素未正確加載,則調用它。

例如,考慮一個帶有簡單圖像元素的頁麵:

<img alt="Book" id="book">

事件處理程序可以綁定到圖像:

$( "#book" )
  .error(function() {
    alert( "Handler for .error() called." )
  })
  .attr( "src", "missing.png" );

如果無法加載圖像(例如,因為它不在提供的 URL 中),則會顯示警報:

.error() 的處理程序被調用。

在瀏覽器觸發 error 事件之前附加事件處理程序 must,這就是示例在附加處理程序後設置 src 屬性的原因。此外,當頁麵在本地提供時,error 事件可能不會正確觸發; error 依賴於 HTTP 狀態碼,如果 URL 使用 file: 協議,一般不會觸發。

注意:不應將 jQuery error 事件處理程序附加到 window 對象。發生腳本錯誤時,瀏覽器會觸發 windowerror 事件。但是,窗口error 事件接收不同的參數並且具有與傳統事件處理程序不同的返回值要求。請改用window.onerror

其他注意事項:

  • 由於 .error() 方法隻是 .on( "error", handler ) 的簡寫,因此可以使用 .off( "error" ) 進行分離。

例子:

要將所有丟失的圖像替換為另一個,您可以更新傳遞給 .error() 的回調中的 src 屬性。確保替換圖像存在;否則 error 事件將被無限期觸發。

// If missing.png is missing, it is replaced by replacement.png
$( "img" )
  .error(function() {
    $( this ).attr( "src", "replacement.png" );
  })
  .attr( "src", "missing.png" );

相關用法


注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .error()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。