фокусы, скроллинг и мозилла @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 4 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Заголовок сообщения: фокусы, скроллинг и мозилла
Сообщение Добавлено: 12 Октябрь 2005, 18:42:54 
Проблема: если фокус остался на элементах объекта/самом объекте (конкретно div с формой) после того, как ему сказано джаваскриптом display:none (отослали форму и спрятали div за ненадобностью) -- страница не прокручивается колесом или клавиатурой, остается только тыкать мышой в кнопки скролбара окна.
Первое, что пришло в голову: принудительно поставить фокус на первый попавшийся элемент страницы после прятания div-a. И тут вылезла вторая проблема, мозилла сказала:
<объект>.focus() is not a function.
Это с чего бы? Объект точно существует, (вне спрятанного div-a).
Возможно, проблема НЕскролирования с фокусом и не связана...
Но как заставить работать колесо в мозилле в данной ситуации?
(опера и ИЕ скроллируют как ни в чем не бывало и без принудительной установки фокуса. МСДН предупредил, что для ИЕ 5.0 перед установкой фокуса объекту должен быть назначен табиндекс. Мозилле это тоже не помогло, табиндекс она съела, а на фокус -- см.сообщение выше)

_________________
клетчатый!
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Заголовок сообщения: Re: фокусы, скроллинг и мозилла
Сообщение Добавлено: 12 Октябрь 2005, 19:29:40 

karamba писал(а):
Проблема: если фокус остался на элементах объекта/самом объекте (конкретно div с формой) после того, как ему сказано джаваскриптом display:none (отослали форму и спрятали div за ненадобностью) -- страница не прокручивается колесом или клавиатурой, остается только тыкать мышой в кнопки скролбара окна.



Так Вы яваскриптом или через css задавали свойства dicplay:none? А вобще, покажите, plz, живой пример со ссылкой, а?

_________________
Keep in touch. Andrey Alexeev.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 13 Октябрь 2005, 10:49:09 
всем спасибо, отбой.
Проблема НЕ скрола таки связана с "потерей" фокуса. Но фокус удалось вернуть без лишних телодвижений и джаваскриптерора только на элемент <A> по this, т.е.:

Код:
<script>
 var act = 0;
 var targ;
 function bla(el){
 if(!act){
  … /* здесь идет назначение display:block и куча остальной обработки */
  targ = el;
  act = 1;
 } else {
  … /* здесь идет назначение display:none и куча остальной обработки */
  targ.focus();
  targ.blur();
  act = 0;
 }
}
</script>

<a href="#" onclick="bla(this);return false;"><img …></a>


targ.blur(); сделан сугубо для снятия фокусной обводки, не принципиально. Но такого "дергания" оказалось достаточно для возобновления работы колеса прокрутки в мозилле.

На img фокус назначить не удалось. Но чисто теоретически мне интересно, почему фокус отработал только на <A>, хотя согласно стандартам DOM Level 1 он может быть назначен даже <TABLE>, не говоря о картинках.
Поэтому от <img src=… onclick="bla(this);"> пришлось отказаться.
Самое интересное: куда в таком случае (см.первый пост) девается фокус вообще? Сдается мне, таки дело в TABINDEX-ах, раздаваемых самими броузерами...

_________________
клетчатый!
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 13 Октябрь 2005, 17:32:07 
karamba, да вполне может быть.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 4 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100