初心者向けのjQuery入門講座|デザイナー向けのJavaScriptライブラリ

このエントリーをはてなブックマークに追加
索引
Core:コアとなる仕組み
Selectors:セレクタ
Attributes:属性
Traversing:対象の変更
Manipulation:操作
CSS:スタイルシート
Events:イベント
Effects:演出効果
Ajax:xml等との連携
Utilities:ユーティリティ
Data:データ
Miscellaneous:諸々
Deferred:処理管理
Callbacks:コールバック
Internals:内部処理

jQuery.error( )エラーが発生した時の処理を設定

構文

エラーが発生した時の処理を設定返値:なし
jQuery.error( メッセージ )ver1.4.1〜

機能

開発者向けにエラーが発生した時の処理をカスタマイズするメソッドです。エラーが発生したら実行したいfucntionを代入して利用します。functionにはブラウザ側からエラーのメッセージが渡されます。

解説

エラーが発生した時の処理を設定します

サンプル(error/01.html)を開いてbody内にdiv要素とbutton要素があることを確認して下さい。jQueryでは、まず以下の部分を確認してください。jQuery.errorメソッドにfunctionを代入してエラーが発生した時の処理を設定しています。このサンプルではブラウザが発するエラーメッセージを引数strで受け取り、それをtextメソッドでdiv要素に表示しています。

$.error = function(str){
	$("div").text(str);
};

続いて、わざとエラーを発生する処理を確認します。以下の様にJSONファイルではない、ただの文字列をjQuery.parseJSONメソッドでパースしています。これはパースできないためエラーが発生します。

$("button").click(function(){
	$.parseJSON("JSONではありません");
});

結果として、buttonをクリックするとブラウザからのエラーメッセージをdiv要素に表示します。

メモ

v1.6以降のjQueryで機能しない?

最初はv1.8のjQueryを利用してjQuery.errorメソッドのサンプルを作成したのですが、思うように機能しませんでした。ネットで色々調べていると機能しているサンプルもあり、それを参考に作成し直しても機能しません...。

そこで機能しているサンプルを調べるとv1.4のjQueryが利用されていました、でもって自分のサンプルにv1.4のjQueryを組み込んだら機能するようになりました...。なぜ?

あとでもう少し詳しく調べようと思います。ちなみに以下はv1.8.2のサンプルです。jQueryのリンク以外は全てerror/01.htmlと同じなのにbuttonをクリックしても機能しません。どこかで仕様が変わったのでしょうか?
→サンプル(error/test01.html