Element.selectionStart - повертає/задає позицію початку виділення у текстовому полі
Element.selectionStart;
Element - елемент textarea або input.
selectionStart властивість об'єкту Element (елементів textarea і input) яка повертає або задає число що представляє позицію початку виділення.
Для отримання кінцевої позиції виділення використовуйте властивість selectionEnd.
Якщо виділення немає власивість рівна позиції каретки а також рівна selectionEnd.
Не всі браузери підтримують.
var el=document.getElementById("test");
if(el.selectionStart!=undefined)
alert(el.selectionStart);
else alert('Ваш браузер не підтримує властивість selectionStart');
Вставляємо текст в позицію каретки елемента textarea:
function insertText(id, text){
var el=document.getElementById(id);
if(el.selectionStart!=undefined){
el.focus();
//зберігаємо позицію каретки
var poz=el.selectionStart;
//вставляємо текст : текст до каретки + текст вставки + текст після каретки курсору
el.value = el.value.substring(0, el.selectionStart) + text + el.value.substring(el.selectionEnd, el.value.length);
//відновлюємо позицію каретки
el.selectionStart=poz+text.length;
el.selectionEnd=el.selectionStart;
}else el.value+=text;
}
//виклик функції
insertText('test','JavaScript');