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

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

callbacks.disable( )コールバックの無効化

構文

コールバックの無効化返値:callbacksオブジェクト
callbacks.disable( )ver1.7〜

機能

コールバックを無効化します。つまりcallbacks.fireメソッドcallbacks.fireWithメソッドを利用しても登録されたfunctionが実行できなくなります。

解説

コールバックを無効化します

サンプル(disable/01.html)を開いてbody内に2つのbutton要素(id属性はfireとdisable)があることを確認してください。jQueryでは、まず以下の部分を確認してください。callbacks.addメソッドを利用してコールバックのリストにtestFuncを追加しています。
testFuncはappendメソッドを利用してbody内に「hello」と表示します。

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

続いて以下の部分を確認してください。id属性がfireのbuttonをクリックするとcallbacks.fireメソッドを利用してコールバックに登録されたtestFuncを実行します。

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

実際にfireボタンをクリックすると、body要素に「hello」と追加されます。

続いて、以下の部分を確認してください。id属性がdisableのbuttonをクリックするとcallbacks.disableメソッドによって、コールバックが無効化されます。

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

結果としてdisableボタンをクリックすると、fireボタンをクリックしても「hello」が追加されなくなります。

関連項目

callbacks.lockメソッドとの違いがよく分かりません...。

メモ

有効にする方法は?

本家サイトに有効に戻す方法が記述されていません。
有効に戻せなかったら、機能的にcallbacks.emptyメソッドと同じなのでは?