Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.06.2016, 11:31
Интересующийся
Отправить личное сообщение для FaNaT_96 Посмотреть профиль Найти все сообщения от FaNaT_96
 
Регистрация: 27.03.2016
Сообщений: 21

Не работает функция 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);
})
	
 });
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2016, 11:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

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

Последний раз редактировалось рони, 26.06.2016 в 11:49.
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2016, 11:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

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>

Последний раз редактировалось рони, 26.06.2016 в 18:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает функция без создания дополнительных переменных AndreyMG Общие вопросы Javascript 2 28.11.2015 19:25
Не работает функция скролла Павел Турченко Общие вопросы Javascript 7 23.11.2015 15:28
Не могу разобраться, как работает функция Dionid Общие вопросы Javascript 4 21.06.2014 18:14
Не работает функция по кнопке Dimaz jQuery 41 01.12.2012 20:34
НЕ работает функция length Golovastik Серверные языки и технологии 4 14.02.2011 17:31