uaKorona
@uaKorona
Front-End разработчик

Почему пропадает выделение в input после element.select()?

Всем привет!
Столкнулся с необходимостью выделить значение в текстовом поле при фокусе.
Написал для этого простенькую директиву:
function inputFocusDirective() {
    return {
        restrict: "A",
        link: function (scope, element, attrs) {
            element.on("focus", function () {
                scope.$apply(function() {
                    element.select();
                });
            });
         }
    }
}

Все бы хорошо, но происходит следующее:
при событии "фокус" значение в поле выделяется, затем выделение пропадает и курсор перемещается в первую позицию значения, которое было в тот момент в поле.
Сначала думал, что это проделки BootStrap v3.2.0 - отключил, не помогло
Потом, что JQuery (версия 1.11.1) - аналогично
Потом, что AngularJs (v1.2.26)

В конце-концов, написал самый простой (по моему) мнения вариант:
<input type="text" onfocus="this.select()">

Результат аналогичный - при событии "фокус" значение в поле выделяется, затем выделение пропадает и курсор перемещается в первую позицию значения, которое было в тот момент в поле.
  • Вопрос задан
  • 2950 просмотров
Решения вопроса 1
Попробуй это решение

<input onClick="this.setSelectionRange(0, this.value.length)" value="Sample Text" />
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект