デザイナーにも分かりやすいjQuery入門講座|jQueryの使い方

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

callbacks.fired( )コールバックが実行されたかチェック

構文

コールバックが実行されたかチェック返値:true/false
callbacks.fired( )ver1.7〜

機能

callbacks.firedメソッドは指定したコールバックが実行されたか否かをチェックします。すでに実行されている場合はtrueを、実行されていない場合はfalseを返します。

解説

コールバックが実行されたかチェック

サンプル(fired/01.html)を開いてbody内に2つのbutton要素があることを確認してください。button要素にはid属性(check, fire)が設定されています。

<button id="check">check</button>
<button id="fire">fire</button>

jQueryでは、まず以下の部分を確認してください。1行目でコールバックオブジェクト「myCall」を作成し、2行目でcallbacks.addメソッドを利用してtestFuncをコールバックのリストに追加しています。testFuncは3〜5行目で作成され、appendメソッドでbody要素に「fire!」と表示します。

var myCall = $.Callbacks();
myCall.add(testFunc);
function testFunc(){
	$("body").append("fire!");
};

続いて以下の部分を確認してください。id属性がcheckのbuttonがクリックされたら、callbacks.firedメソッドを利用してコールバックオブジェクト「myCall」が実行されたかチェックし、結果を変数chkに代入してアラートで表示します。

$("button#check").click(function(){
	var chk = myCall.fired();
	alert(chk);
});

実際に、checkボタンをクリックしてアラートで「false」と表示されることを確認してください。これは、まだコールバックが実行されていないためです。

続いて以下の部分を確認してください。id属性がfireのbuttonがクリックされたら、callbacks.fireメソッドを利用してコールバック「myCall」を実行します。実際にクリックするとtestFuncが実行され、body要素内に「fire」と表示されます。

$("button#fire").click(function(){
	myCall.fire();
});

ここで再びcheckボタンをクリックしてください。こんどはコールバックが実行されているのでアラートで「true」と表示されます。