Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> textarea установить курсор в нужное положение, Не могу найти функцию 
:(
    Опции темы
neoks
Дата 12.5.2011, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Есть код вставки BB в textarea
Код

this.insertTab = function (str1,str2){
        
        var select_area_id = 'cp';
        
        var textarea = document.getElementById(select_area_id);
        var st = textarea.scrollTop;
        var text, offset;
        var selection = document.selection || getSelection();
        
        var selStart = textarea.selectionStart; 
        var selEnd   = textarea.selectionEnd;
            text     = textarea.value;
            
        if(str2){
            
            textarea.value = text.substring(0, selStart) + str1 + text.substring(selStart, selEnd) + str2 + text.substring(selEnd, text.length);
            offset = str1.length;
            textarea.selectionStart = selStart + offset;
            textarea.selectionEnd   = selEnd   + offset;

        }
        else{

            textarea.value = text.substring(0, selStart) + str1  + text.substring(selEnd, text.length);
            offset = str1.length;
            textarea.selection = selStart ;
            textarea.selectionEnd   = selEnd   + offset;
            
        }
        textarea.scrollTop      = st;
        
        textarea.focus();
    }


Не могу найти примера или название функции, как переместить курсор в нужное место например на 120 символ или больше.
Сейчас я пытаюсь переместить курсор на selStart + 4 символа, но не врубаюсь как ?
PM MAIL   Вверх
neoks
Дата 12.5.2011, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Все пришло озарение, немного подумал по какой причине меняя selStart и selEnd текст вставляется не правильно то есть туда куда я укажу.
Может все иза задержи времени! Хм так и есть, засунул в SetTimeout и установил задержку в 100 мили секунд.
И вот результат, Все работает.

Сам код:
Код

setTimeout(function(){
    textarea.setSelectionRange(selStart + 5,selEnd + 5);
},100)


Все всем Спасибо за внимание.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0376 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.