Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Установка каретки в определенное место input (https://javascript.ru/forum/events/45132-ustanovka-karetki-v-opredelennoe-mesto-input.html)

Upcoming 16.02.2014 06:06

Установка каретки в определенное место input
 
Добрый день.

При наступлении некоего события нужно установить каретку в определенное место input. Думал создать объект Range/TextRange и перевести его в выделение, но ведь значение инпута содержится в атрибуте value, а не является содержимым тега. Вот тут-то я и застопорился.

danik.js 16.02.2014 06:44

<input type="text" value="abcde" autofocus />
<script>
setTimeout(function(){
    document.querySelector('input').setSelectionRange(2, 2);
}, 300);
</script>


Вот в IE8 придется помудрить (можно найти готовый полифилл для setSelectionRange или для свойств selectionStart/selectionEnd). Таймер установил чисто для демонстрации.

Upcoming 16.02.2014 11:48

danik.js, спасибо. Решение с поддержкой старых ie нашел.

На случай, если кому-то оно понадобится, смотреть вот тут.


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