![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| BlackApricot |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 17.8.2009 Репутация: нет Всего: нет |
Нужно определить в каком инпуте был фокус(мигал курсор), чтобы потом вернуть его на место.
Использование библиотек не желательно. Но и не откажусь, если будет конкретно написано, как к ней обратиться, и что она вернёт. То есть реальный рабочий код, учитывая нулевые знания библиотек. |
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 35 Всего: 112 |
Проще всего навязать всем нужным input'ам обработчик события onfocus, в который будет запоминать текущий элемент в фокусе.
|
|||
|
||||
| BlackApricot |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 17.8.2009 Репутация: нет Всего: нет |
Amphiluke, спасибо, но как видишь, всё ещё проще.
Делаем глобальную переменную:
В нужных инпутах пишем:
В нужных местах проверяем, и если нужно(или можно?), ставим курсор:
При желании, или нужде, можно проверять: а нужно ли в это конкретное поле ставить курсор? а находится ли искомое поле в зоне видимости, не проскроленно ли это поле за пределы окна? Думать нужно в каждом конкретном случае, и если нужно что-то делать, стоит эту проверку засунуть в отдельную функцию. |
||||||
|
|||||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 35 Всего: 112 |
Не все то, что просто, есть одновременно и хорошо. Ладно если у вас немного этих инпутов. В этом случае худшее, чего вы получите — это несолидное захламление HTML кода повторяющимися Javascript-овыми вставками. А если инпутов полсотни (пример, конечно, надуманный, но тем не менее)? Собственно, для этого-то и хороши методы динамического «навешивания» обработчиков. Лучше всего пользоваться методами addEventListener и attachEvent. При этом, кстати, благодаря доступности экземпляра объекта Event никаких проблем не возникнет при необходимости дополнительных проверок, какой инпут вызвал событие, находится ли он в зоне видимости и прочее. И код HTML остается чистым, и нет проблем с дублирующимся кодом Javascript, и код этот к тому же самоадаптирующийся к условиям, когда число инпутов может изменяться. |
|||
|
||||
| BlackApricot |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 17.8.2009 Репутация: нет Всего: нет |
Не вижу ни чего надуманного.
Вот это захламление?????
Кстати, эта проверка единственная, она засунута в функцию, и у меня с этим нет проблем, и эта функция получает объект, какие тут проблемы с получением всех необходимых данных об этом объекте. Не знаю, не знаю, у меня с количеством инпутов, проблем нет. Я принципиально не пишу код, который сам не разберётся с количеством своих элементов, прибавилось, убавилось... И ни кто не спорит, что этот простой вариант универсален. А в моём конкретном случае, твой вариант, есть излишество, реально есть 4 поля и 2 кнопки, после обработки кнопок захотелось вернуть курсор на место, чтобы не щёлкать лишний раз мышью, и всё. В предыдущей версии этого не было, и рука не отвалилась. Ещё раз спасибо. |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |