jQuery . Callbacks( flags )

jQuery API の jQuery.Callbacks( flags ) は、コールバックオブジェクトを生成するメソッド。

引数「flags」で複数のコールバック関数の処理を制御できる。

記述方法

var callbacksObject = jQuery . Callbacks( フラグ );

引数「フラグ」で複数のコールバック関数の処理を制御。

引数

flags / フラグ

コールバックオブジェクトで管理している複数のコールバック関数の処理を制御できる。

下記の4つの値を指定できる。半角スペース区切りで複数の値を指定することもできる。

once

一度だけ呼び出す。

サンプルは「jQuery . Callbacks( 'once' )」のページにて。

memory

add()メソッドでコールバック関数を追加すると、前の値を渡しながら、追加したコールバック関数を呼び出す。

サンプルは「jQuery . Callbacks( 'memory' )」のページにて。

unique

コールバック関数を重複させない。

サンプルは「jQuery . Callbacks( 'unique' )」のページにて。

stopOnFalse

コールバック関数が「false」を返すと呼び出しを中断し、それ以降のコールバック関数を呼び出さない。

サンプルは「jQuery . Callbacks( 'stopOnFalse' )」のページにて。

省略することも可能。サンプルは「jQuery . Callbacks()」のページにて。

戻り値

Callbacks Object

コールバックオブジェクト。

実装例(サンプル)

実装例(サンプル)の動作について

「ボタン」をクリックすると、ボタンの右横に「こんにちは」と表示する。

jQuery . Callbacks()」のページのサンプルと違い、ボタンが一度しか機能しない点に注目。

実装例(サンプル)のソースコード

JavaScript

<script type="text/javascript">
<!--
jQuery( function() {
    var $callbacksObject = jQuery.Callbacks( 'once' );
    $callbacksObject.add( function( value ) {
        jQuery( '#sampleOutput' ).text( value );
    } );
    var $count = 1;
    jQuery( "#sampleButton" ).on( "click", function() {
        if( $count == 1 ){
            $callbacksObject.fire( 'こんにちは' );
            $count = 2;
        }else{
            $callbacksObject.fire( '' );
            $count = 1;
        }
    } );
} );
// -->
</script>

HTML

<button id="sampleButton">ボタン</button>
<span id="sampleOutput"></span>

スポンサード リンク

カテゴリー: API, JavaScript, jQuery, コールバックオブジェクト タグ: パーマリンク