jQuery API の jQuery.Callbacks( 'stopOnFalse' ) で生成したコールバックオブジェクトは、コールバック関数が「false」を返すと呼び出しを中断し、それ以降のコールバック関数を呼び出さない。
記述方法
var callbacksObject = jQuery . Callbacks( 'stopOnFalse' );
コールバック関数が「false」を返すと呼び出しを中断するコールバックオブジェクトを生成。
戻り値
- Callbacks Object
コールバックオブジェクト。
実装例(サンプル)
- このリストに追加する。
実装例(サンプル)の動作について
- 「ボタンA」をクリックすると、ボタンの下のリストに「追加項目A」を1つ追加する。
- 「ボタンB」をクリックすると、ボタンの下のリストに「追加項目B」を2つ追加する。
実装例(サンプル)のソースコード
JavaScript
<script type="text/javascript">
<!--
jQuery( function() {
function callbackFnA( value ) {
jQuery( '#sampleOutput' ).append( value );
return false;
}
function callbackFnB( value ) {
jQuery( '#sampleOutput' ).append( value );
}
var $callbacksObjectA = jQuery.Callbacks( 'stopOnFalse' );
$callbacksObjectA.add( callbackFnA, callbackFnB );
jQuery( "#sampleButtonA" ).on( "click", function() {
$callbacksObjectA.fire( '<li>追加項目A</li>' );
} );
var $callbacksObjectB = jQuery.Callbacks();
$callbacksObjectB.add( callbackFnA, callbackFnB );
jQuery( "#sampleButtonB" ).on( "click", function() {
$callbacksObjectB.fire( '<li>追加項目B</li>' );
} );
} );
// -->
</script>
<!--
jQuery( function() {
function callbackFnA( value ) {
jQuery( '#sampleOutput' ).append( value );
return false;
}
function callbackFnB( value ) {
jQuery( '#sampleOutput' ).append( value );
}
var $callbacksObjectA = jQuery.Callbacks( 'stopOnFalse' );
$callbacksObjectA.add( callbackFnA, callbackFnB );
jQuery( "#sampleButtonA" ).on( "click", function() {
$callbacksObjectA.fire( '<li>追加項目A</li>' );
} );
var $callbacksObjectB = jQuery.Callbacks();
$callbacksObjectB.add( callbackFnA, callbackFnB );
jQuery( "#sampleButtonB" ).on( "click", function() {
$callbacksObjectB.fire( '<li>追加項目B</li>' );
} );
} );
// -->
</script>
HTML
<button id="sampleButtonA">ボタンA</button>
<button id="sampleButtonB">ボタンB</button>
<ol id="sampleOutput">
<li>このリストに追加する。</li>
</ol>
<button id="sampleButtonB">ボタンB</button>
<ol id="sampleOutput">
<li>このリストに追加する。</li>
</ol>