error(fn)


version 1.0 以降

解説

マッチした要素のerrorイベントに、イベントハンドラをバインドします。
bind("error", fn)のヘルパイベントです。

エラーイベントの発生

errorイベントの標準規格は存在しません。 しかし、多くのブラウザは、例えば次のような場合にerrorイベントが引き起こされます。

  • ページ上でJavaScriptのエラーが発生したとき。→windowオブジェクトのerrorイベントが引き起こされます。
  • img要素のsrc属性に、存在しないファイルや壊れた画像データなど、不正な値を設定されたとき。→imgオブジェクトのerrorイベントが引き起こされます。

windowエラーイベント

windowオブジェクトによってerrorイベントが投げられた場合、イベントハンドラ関数には3つの引数が渡されます。

  • errorイベントの説明("varName is not defined", "missing operator in expression"など)
  • エラーが発生したページのURL
  • エラーが発生した行番号

エラーイベントの制御

イベントハンドラ関数がtrueを返すと、errorイベントが処理されたものとみなされ、ブラウザはerrorを上げません。

errorイベントのより詳細な情報は、以下を参照してください。


引数

  • fn
    Function: errorイベントにバインドするイベントハンドラ関数

戻り値

  • jQuery: jQueryオブジェクト

関連


例1:URLをクリックすると、画像を表示します。画像が存在しない場合は、メッセージを表示します。

$("#test_result li").click(function(){
    var elem = this;
    $("#display").empty().append(
        $("<img/>")
            .attr("src", $(elem).text())
            .error(function(e){
                $(this).hide();     // 読み込めない画像を非表示
                $("#display").text( // メッセージを表示
                    $(elem).text() + " の読み込みに失敗しました。"
                );
                return true;   // ブラウザにエラーを上げさせないように通知
            })
    );
});

  • http://stacktrace.jp/img/folder.gif
  • http://stacktrace.jp/img/report.gif
  • http://stacktrace.jp/img/xxxxx.gif

------------------------------------------