Получение позиции курсора в текстовом поле INPUT
Нашел в этих ваших интернетах забавный визуальный эффект для поля ввода логина и пароля. Но, на мой взгляд, он работает не совсем правильно, так как глаза должны следить за позицией курсора в поле ввода, а не за количеством введенных символов.Пришлось рисовать универсальную кроссбраузерную функцию для получения позиции курсора в поле INPUT, дополнив список уже имеющихся функций похожего назначения. Вот что у меня получилось:
Code (JavaScript) : Убрать нумерацию
- <script type="text/javascript">
- function getpos(id) {
- var el=document.getElementById(id);
- var pos, sel;
- // Internet Explorer
- if (document.selection) {
- el.focus();
- if (sel=document.selection.createRange()) {
- sel.moveStart('character', -el.value.length);
- pos=sel.text.length;
- }
- // ... something wrong ...
- else {
- pos=0;
- }
- }
- // Mozilla, Chrome
- else if (el.selectionStart || el.selectionStart=='0') {
- if (el.selectionDirection) {
- if (el.selectionDirection=='backward') {
- pos=el.selectionStart;
- }
- else {
- pos=el.selectionEnd;
- }
- }
- else {
- // Opera 9
- pos=el.selectionEnd;
- }
- }
- // ... something wrong ...
- else {
- pos=0;
- }
- return parseInt(pos);
- }
- </script>
Демонстрационную страничку с отслеживанием позиции курсора в поле ввода можно посмотреть здесь, а доработанную страницу логина здесь.
Просмотров: 953 | Комментариев: 1
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
dElk
(12.07.2022 в 11:54):
Напомнило: https://i0.wp.com/codemyui.com...gin-form.gif
Добавить комментарий
Заполните форму для добавления комментария