Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

Чем является каретка для JavaScript?

#javascript


Почитав статьи о создании собственных WYSIWYG-редакторов для админ-панелей,
я предположил, что для JavaScript просто-напросто не существует никакой каретки
внутри полей ввода, потому он не может с ней работать и решение таких элементарных
на первый взгляд задачи, как окружение каретки чем-либо, перемещение каретки на нужную
позицию, регистрация текущей позиции каретки и т. д. достигается рулонами нечитаемого
кода. Верно ли, что JavaScript не видит каретки в браузере?



Обновление (перенесено из комментария)

Информация из всех образовавшихся в комментариях обсуждений, безусловно, пригодится,
но я вернусь к основной теме. Спрошу так: вот есть курсор внутри поля ввода и есть
JavaScript. Какова причина, по которой в нативном JavaScript отсутствует средства для
работы с кареткой типа getCaretPosition(), moveCaretToPosition(), getTextAfterCaret()
и т. д.? Наверняка это не лень разработчиков, а какие-то трудности взаимодействия JavaScript
с браузером.
    


Ответы

Ответ 1



Объект Selection представляет диапазон текста выделенный пользователем или текущую позицию курсора (каретки). Этот объект не является частью JavaScript, он реализуется браузером. Для управления курсором в TextArea есть следующие поля: selectionStart Возвращает/задаёт индекс начала выделенного текста. Если нет выделенного текста, возвращает индекс символа следующего за курсором. selectionEnd Возвращает/задаёт индекс окончания выделенного текста. Если нет выделенного текста, возвращает индекс символа следующего за курсором.

Комментариев нет:

Отправить комментарий