triggerHandler( eventType )

jQuery API の triggerHandler( eventType ) は、1つ目の引数に指定したイベントを実行する。trigger( eventType ) と似ているが、ブラウザのデフォルトの動作は行わず、指定したイベントハンドラのみ実行する。

記述方法

jQuery( セレクター1 ) . イベントタイプ1( function() {
    jQuery( セレクター2 ) . triggerHandler( イベントタイプ2 );
} );

「セレクター1」の要素の「イベントタイプ1」のイベント時、「セレクター2」の要素の「イベントタイプ2」のイベントハンドラを実行する。

実装例(サンプル)

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

「入力する ( trigger )」ラジオボタンを選択すると、テキスト入力欄の右側に、「 ←入力」と2.5秒ほど表示し、テキスト入力欄をフォーカスする。

「入力する ( triggerHandler )」ラジオボタンを選択すると、テキスト入力欄の右側に、「 ←入力」と2.5秒ほど表示するが、テキスト入力欄をフォーカスしない。

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

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-api-focus' ) . focus( function(){
        jQuery( '#jquery-api-focused' ) . fadeIn( 500 ) . text( ' ←入力' ) . fadeOut( 2000 );
    } );
    jQuery( '#jquery-api-trigger' ) . click( function () {
        jQuery( '#jquery-api-focus' ) . trigger( 'focus' );
    } ) . click();
    jQuery( '#jquery-api-triggerHandler' ) . click( function () {
        jQuery( '#jquery-api-focus' ) . triggerHandler( 'focus' );
    } );
} );
// -->
</script>

CSS

<style>
<!--
#jquery-api-radio input {
    margin: 0;
}
#jquery-api-radio label {
    font-size: 16px;
    color: black;
}
#jquery-api-focused {
    color: red;
}
-->
</style>

HTML

<div id="jquery-api-radio">
    <p>
        <label for="jquery-api-trigger">
            <input type="radio" id="jquery-api-trigger" name="jquery-api-radio"> 入力する ( trigger )
        </label>
    <p>
    </p>
        <label for="jquery-api-triggerHandler">
            <input type="radio" id="jquery-api-triggerHandler" name="jquery-api-radio"> 入力する ( triggerHandler )
        </label>
    </p>
</div>
<p><input type="text" id="jquery-api-focus"><span id="jquery-api-focused"></span></p>

スポンサード リンク

カテゴリー: API, JavaScript, jQuery, イベント, イベントハンドラ・アタッチメント パーマリンク