Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает функция indexOf (https://javascript.ru/forum/misc/63735-ne-rabotaet-funkciya-indexof.html)

FaNaT_96 26.06.2016 11:31

Не работает функция indexOf
 
Здравствуйте. Есть определенная строка, которая формируется исходя из текста, который выделил пользователь. Хочу найти позицию в тексте, с которой начинается эта строка. Делаю так:
$(document).ready(function(){

	var txt='';

		$('#brief').select(function(eventObject){
		if (window.getSelection){
         txt = window.getSelection();
        }
        else if (document.getSelection){
           txt = document.getSelection();
        }
        else if (document.selection){
           txt = document.selection.createRange().text;
        }
		
		var a = txt.indexOf(txt);
		alert(a);
})
	
 });

рони 26.06.2016 11:47

Цитата:

Сообщение от FaNaT_96
txt.indexOf(txt);

в строке найти строку
бред какой то.
может вы хотели так
var a = this.textContent.indexOf(txt);

рони 26.06.2016 11:55

FaNaT_96,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

 </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
   <script>
 $(function(){
 function getCaretPos(element) {
      element.focus();
      if (document.selection) {
          var sel = document.selection.createRange();
          var clone = sel.duplicate();
          sel.collapse(true);
          clone.moveToElementText(element);
          clone.setEndPoint('EndToEnd', sel);
          return clone.text.length;
      } else {
          return window.getSelection().getRangeAt(0).startOffset;
      }
      return 0;
  }


$('#brief').mouseup(function(){

    alert(getCaretPos(this) );

})

   })
  </script>
</head>

<body>


<p  id="brief" >Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut optime, secundum naturam affectum esse possit. Dulce amarum, leve asperum, prope longe, stare movere, quadratum rotundum. Sin laboramus, quis est, qui alienae modum statuat industriae? Duo Reges: constructio interrete. </p>
 </body>
</html>


Часовой пояс GMT +3, время: 13:29.