Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как найти позицию каретки (номер символа) относительно всего документа? (https://javascript.ru/forum/misc/32293-kak-najjti-poziciyu-karetki-nomer-simvola-otnositelno-vsego-dokumenta.html)

sbudyakov 10.10.2012 16:47

Как найти позицию каретки (номер символа) относительно всего документа?
 
Здравствуйте! Вопрос такой.
window.getSelection().getRangeAt(0).endOffset
или (.startOffset). Возвращает позицию каретки в тексте не относительно всего документа, а только относитьльно начала строки. Каким способом можно получить номер симола (позицию каретки :) ) относительно начала документа?

Demath 10.10.2012 16:56

В textarea это помогает (отсюда)

<script>
function getCaret(el)
{ 
  if (el.selectionStart) {return el.selectionStart;} 
  else if (document.selection)
          { el.focus(); 
            var r = document.selection.createRange(); 
            if (r == null) {return 0;} 
            var re = el.createTextRange(), 
            rc = re.duplicate(); 
            re.moveToBookmark(r.getBookmark()); 
            rc.setEndPoint('EndToStart', re); 
            return rc.text.length; 
          }  
  return 0; 
}
</script>
<textarea style="width:300px; height:120px;" onclick="alert(getCaret(this))">Это текст, позицию которого можно получить

Это текст, позицию которого можно
</textarea>

sbudyakov 10.10.2012 17:00

То, что для textaera я пробовал. Жалко, что не работает. Удобно было бы.


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