Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Месторасположение курсора в textarea


Автор: Dima85 29.12.2009, 11:52
Подскажите пожалуйста возможно ли как-то отследить месторасположение курсора в textarea?

Тоесть мне необходимо записать координаты в куки а потом их выводить из куков и ставить курсор в нужное место. 

Автор: ageent 29.12.2009, 11:57
Функция для определения текущей позиции указателя.
Код

/*
   obj - объект
*/
function getCaretPos(obj) {
    obj.focus();
 
    if (obj.selectionStart) return obj.selectionStart; //Gecko
    else if (document.selection) //IE
    {
        var sel = document.selection.createRange();
        var clone = sel.duplicate();
        sel.collapse(true);
        clone.moveToElementText(obj);
        clone.setEndPoint('EndToEnd', sel);
        return clone.text.length;
    }
    return 0;
}

Автор: Dima85 29.12.2009, 12:23
Спасибо.

Автор: Dima85 29.12.2009, 13:10
Не могу понять каким образом вставить курсор в textarea, я записал нужную цифру в куки, далее гружу ее из куков а как теперь вставить курсор в textarea? допустим в 22.

Автор: ageent 29.12.2009, 19:02
Функция для перемещения указателя в нужную позицию, в textarea.
Код

/*
   n - позиция в которую нужно переместить указатель. Цифра.
   o - объект
*/
function goTo(n, o) {
    if (!document.all) {
        var end = o.value.length;
        o.setSelectionRange(n, n);
        o.focus();
    }
    else {
        var r = o.createTextRange();
        r.collapse(true);
        r.moveStart("character", n);
        r.moveEnd("character", 0);
        r.select();
    }
}

Сталкивался с таким не раз, даже статью себя на заметку сделал http://www.ageent.ru/javascrip.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)