Get Selected Text Position

by icoxfog417

HTML

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<div id="texts">
  <span>今日はいい天気だ</span><br/>
  <span>食パンおいしい</span><br/>
  <span>窓からは富士山が見える</span><br/>
</div>

JavaScript

$("#texts").mouseup(function(event){
  var s = window.getSelection();
  var text = s.toString();
  if(text != ""){
    var body = s.anchorNode.textContent;
    var start = s.anchorOffset;
    var end = s.focusOffset;
    var selected = body.substring(Math.min(start, end), Math.max(start, end));
    console.log(body);
    console.log(start + "->" + end);
    console.log(selected);
    console.log(text);
  }
})