Установка каретки в определенное место input
Добрый день.
При наступлении некоего события нужно установить каретку в определенное место input. Думал создать объект Range/TextRange и перевести его в выделение, но ведь значение инпута содержится в атрибуте value, а не является содержимым тега. Вот тут-то я и застопорился. |
<input type="text" value="abcde" autofocus />
<script>
setTimeout(function(){
document.querySelector('input').setSelectionRange(2, 2);
}, 300);
</script>
Вот в IE8 придется помудрить (можно найти готовый полифилл для setSelectionRange или для свойств selectionStart/selectionEnd). Таймер установил чисто для демонстрации. |
danik.js, спасибо. Решение с поддержкой старых ie нашел.
На случай, если кому-то оно понадобится, смотреть вот тут. |
| Часовой пояс GMT +3, время: 09:05. |