jQuery【 select 】テキストが選択された際のイベント

colmun_main12215

jQuery の select メソッドは、テキストボックスやテキストエリア内の文字を選択したり 文字が選択された際にイベントを発生させたりすることができるメソッドです。
今回は、jQuery の select メソッドの使用方法について紹介します。

目次

 
1.select メソッド
2.select メソッドでテキストを選択
3.select メソッドでイベント発生

1.select メソッドと

 
select メソッドは、text タイプの input 要素と textarea 要素について、要素内のテキストを選択したり、テキストが選択された際にイベントを発生させたりするメソッドです。

select メソッドは、 次のように記述して使用します。

$(セレクタ).select( );

$(セレクタ).select( handler( eventObject ) );

$(セレクタ).select( [ eventData ], handler( eventObject ) );

引数なしの「 .select( ) 」は、「 .trigger(“select”) 」の省略形です。
(trigger メソッドの使用方法についてはjQuery【 trigger 】手動でイベントを発生させる trigger メソッドをご参照下さい。)

また、「 .select( handler( eventObject ) ) 」及び「 .select( [ eventData ], handler( eventObject ) ) 」は、「 on( “select”, handler ) 」の省略形です。
(on メソッドの使用方法についてはjQuery【 on 】on メソッドの使い方をご参照下さい。)

引数の内容は以下の通りです。

.select( handler( eventObject ) )

handler( eventObject )
テキスト選択時に実行する処理を関数として指定

.select( [ eventData ], handler( eventObject ) )

[ eventData ]
イベントハンドラに渡すデータをマップ値で指定

handler( eventObject )
テキスト選択時に実行する処理を関数として指定

▲目次へ戻る

 

2.select メソッドでテキストを選択

 
select メソッドを使用して、入力欄のテキストを選択します。
各ボタンをクリックしてみて下さい。

 
 

  
上のサンプルのソースコードは次の通りです。

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
<!--
$(function() {
  $("#btn1").on("click", function(e) {
    $("#txt1").select();
  });

  $("#btn2").on("click", function(e) {
    $("#tarea1").select();
  });
});
//-->
</script>

<div style="background-color:#CCC; padding:20px;">
  <input type="button" id="btn1" value="テキストボックス"> <input type="button" id="btn2" value="テキストエリア">
 <input type="text" id="txt1" value="テキストボックス">
  <textarea id="tarea1">テキストエリア&#13;テキストエリア&#13;テキストエリア&#13;テキストエリア&#13;テキストエリア&#13;テキストエリア</textarea>
</div>

選択対象となる要素を指定して 引数なしの select メソッドを呼び出すと、入力欄内のテキストが選択されます。

select メソッドの使用方法とは直接関係ありませんが、上のサンプルでは テキストエリア内の改行に「 &#13; 」を使用しています(ブラウザによりますが、Google Chrome では <br> や /n は改行コードではなく文字として認識されます)。

▲目次へ戻る

 

3.select メソッドでイベント発生

 
今度は、入力欄のテキストを選択した時にイベントを発生させます。
各入力欄のテキストを選択してみて下さい。

 

 

  
上のサンプルのソースコードは次の通りです。

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
<!--
$(function() {
  $("#txt2").select(function () {
    $("#out1").text("テキストボックス内のテキストが選択されました!").css("color","blue");
  });

  $("#tarea2").select(function () {
    $("#out1").text("テキストエリア内のテキストが選択されました!").css("color","red");
  });
});
//-->
</script>

<div style="background-color:#CCC; padding:20px;">
 <input type="text" id="txt2" value="テキストボックス">
  <textarea id="tarea2">テキストエリア&#13;テキストエリア&#13;テキストエリア</textarea>
  <span id="out1"> </span>
</div>

「 $(“#txt2”).select(function () {…}); 」のように select メソッドの引数内に処理内容を記述すると、入力欄内のテキストが選択された際に処理が実行されます。

▲目次へ戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です