用途
新着
履歴
分類

JS 選択文字の抽出と連携

JS 選択文字の抽出と連携
JS 選択文字の抽出と連携
選択した文字の情報をJSで抽出したり、SNSボタンに連携するサンプルです。

ブラウザで文字を選択した状態になると、その値をJSで検知することができます。

選択した文字を抽出したり、その文字を使って他のAPIに情報を連携するサンプルを実装しました。

下記のサンプルでは、選択した文字がFacebookのシェア入力欄にデフォルトで書き込みされるようになっています。

下記の点線内の文章で、任意に文字を選択してみてください。

選択するためのサンプル文章です。
この文章の文字を選択すると、下部に選択した文字が抽出されます。また、選択した文字の上に、表示されるFacebookのボタンは、選択した文字をそのままシェアできるよう文字情報を連携しています。
上記の文章の一部を選択すると選択範囲の文字を抽出します。
(選択させてません)

JSは以下のようになります。

このサンプルはjQueryも使っています。

$(function(){

  $("#demo_text").on('mouseup', function(e){  //mouseupでイベント発火
    var select_str;
    if(window.getSelection){
      //選択があれば

      select_area_id = window.getSelection().baseNode.parentElement.id;  //選択範囲の親のIDを取得
      select_str = window.getSelection().toString();  //選択範囲のテキストを取得

      if(select_str !== '' && select_str !== '\n'){
        //選択テキストがあれば
        if(select_area_id == 'demo_text'){
          //特定の親IDのエリアであれば
          $("#demo_select_data span.str").text(select_str);
          $("#demo_fb").html('facebookシェア');
          f="https://www.facebook.com/share.php";
          u="https%3A%2F%2Fwww.kipure.com%2F";
          t=encodeURI("シェアボタンテスト");
          q=encodeURI(select_str);
          fs=f+'?u='+u+'&t='+t+'"e='+q;
          $("#demo_fb a").attr("href",fs);

          const pos = window.getSelection().getRangeAt(0).getBoundingClientRect()
          $("#demo_fb").css("top",pos.y - 24);
          $("#demo_fb").css("left",pos.x);
          $("#demo_fb").fadeIn();
        }
      }else{
        //選択テキストがなければ
        $("#demo_fb").hide();
      }
    }
  });

});
公開 2021-01-03 17:33:46
更新 2021-01-03 18:55:39
このページの二次元コード

同じカテゴリーのサンプル

人気のサンプル

search -  category -  about
© 2021 kipure
Top