Как узнать количество слов после нажатия на слово в абзаце?

webfrogs спросил: 07 октября 2018 в 01:57 в: javascript

У меня есть этот скрипт здесь -

//Click word, alert position
$(".content").click(function(e){
  s = window.getSelection();
  var range = s.getRangeAt(0);
  var node = s.anchorNode;
  while(range.toString().indexOf(' ') != 0) {                 
    range.setStart(node,(range.startOffset -1));
  }
  range.setStart(node, range.startOffset +1);
  do{
    range.setEnd(node,range.endOffset + 1);

  }while(range.toString().indexOf(' ') == -1 && range.toString().trim() != '');
  var str = range.toString().trim();
  alert(str);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        
<p class="content">Lorem ipsum dolor sit amet,sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,  At vero eos et accusam et justo duo dolores et ea rebum.  Lorem ipsum dolor sit amet,  no sea takimata sanctus est Lorem ipsum dolor sit amet.  Stet clita kasd gubergren,  no sea takimata sanctus est Lorem ipsum dolor sit amet.  no sea takimata sanctus est Lorem ipsum dolor sit amet.  no sea takimata sanctus est Lorem ipsum dolor sit amet.  sed diam voluptua.</p>

... и я понимаю как предупредить слово, на которое нажали, но моя цель состоит в том, чтобы щелкнуть слово и заставить его предупредить это слово и его текущую позицию в элементе.

Например, в этом абзаце:

<p>Lorem ipsum dolor sit amet,sed diam nonumy eirmod tempor invidunt</p>

Я нажимаю слово "сидеть", в предупреждении будет отображаться слово "сидеть", и что это 4 слова с начала или это 4 слова на данный момент и т. д.


0 ответов