jQuery API の callbacks.locked() は、コールバックオブジェクトがロックされているかどうかを調べるメソッド。
記述方法(構文)
callbacks . locked()
戻り値
- Boolean
booleanType(論理型)。
コールバックオブジェクトがロックされていれば、「true」を返す。
コールバックオブジェクトがロックされていなければ、「false」を返す。
記述例
var callbacksObject = jQuery . Callbacks();
callbacksObject.add( function() {
// コールバック関数内の処理文。
} );
callbacksObject.locked();
// callbacksObjectがロックされていれば「true」、ロックされていなければ「false」を返す。
callbacksObject.add( function() {
// コールバック関数内の処理文。
} );
callbacksObject.locked();
// callbacksObjectがロックされていれば「true」、ロックされていなければ「false」を返す。
実装例(サンプル)
実装例(サンプル)の動作について
- 「B」ボタンをクリックすると、ボタンの右横に「false」と表示する。
- 「A」ボタンをクリックすると、ボタンの右横に「$callbacksObjectAをロックしました。」と表示する。
- 「B」ボタンをクリックすると、ボタンの右横に「true」と表示する。
「ロック後は呼び出せない。」を表示しない点にも注目。
実装例(サンプル)のソースコード
JavaScript
<script type="text/javascript">
<!--
jQuery( function() {
function sampleFn( $arg1 ) {
jQuery( this ).text( $arg1 );
}
var $callbacksObjectA = jQuery.Callbacks();
$callbacksObjectA.add( sampleFn );
var $callbacksObjectB = jQuery.Callbacks();
$callbacksObjectB.add( sampleFn );
jQuery( "#sampleButtonA" ).on( "click", function() {
$callbacksObjectA
.fireWith( jQuery( '#sampleOutputA' ), [ '$callbacksObjectAをロックしました。' ] )
.lock()
.fireWith( jQuery( '#sampleOutputA' ), [ 'ロック後は呼び出せない。' ] );
} );
jQuery( "#sampleButtonB" ).on( "click", function() {
$callbacksObjectB.fireWith( jQuery( '#sampleOutputB' ), [ $callbacksObjectA.locked() ] );
} );
} );
// -->
</script>
<!--
jQuery( function() {
function sampleFn( $arg1 ) {
jQuery( this ).text( $arg1 );
}
var $callbacksObjectA = jQuery.Callbacks();
$callbacksObjectA.add( sampleFn );
var $callbacksObjectB = jQuery.Callbacks();
$callbacksObjectB.add( sampleFn );
jQuery( "#sampleButtonA" ).on( "click", function() {
$callbacksObjectA
.fireWith( jQuery( '#sampleOutputA' ), [ '$callbacksObjectAをロックしました。' ] )
.lock()
.fireWith( jQuery( '#sampleOutputA' ), [ 'ロック後は呼び出せない。' ] );
} );
jQuery( "#sampleButtonB" ).on( "click", function() {
$callbacksObjectB.fireWith( jQuery( '#sampleOutputB' ), [ $callbacksObjectA.locked() ] );
} );
} );
// -->
</script>
HTML
<p>
<button id="sampleButtonA">A</button>
<span id="sampleOutputA"></span>
</p>
<p>
<button id="sampleButtonB">B</button>
<span id="sampleOutputB"></span>
</p>
<button id="sampleButtonA">A</button>
<span id="sampleOutputA"></span>
</p>
<p>
<button id="sampleButtonB">B</button>
<span id="sampleOutputB"></span>
</p>