Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.11.2012, 12:02
Новичок на форуме
Отправить личное сообщение для XPyCTang Посмотреть профиль Найти все сообщения от XPyCTang
 
Регистрация: 21.11.2012
Сообщений: 5

Как побороть "активированный" DIV?
Облазил на сколько сил хватило инет, видимо сил иссякли...

Упрощенно на странице два DIVа вложенные один в другой с "overflow: hidden" - окошко со списком (соответственно, если список большой то он начинает скроллиться). Список управляется стрелочками на клавиатуре. Чтобы не было "лишнего" скролла действие по умолчанию "убито".
После выбора чего-то из списка, открывается другое окошко, но там свои события по нажатию клавиш, следовательно то, что было для первого окошка со списком стирается (стрелочками список уже не управляется и тп и тд). Но теперь вылезает проблема: поскольку что-то выбиралось из списка, то DIV остался "активным", а мои события по клавишам стерты, список начинает прокручиваться действие браузера по умолчанию. Если, конечно, кликнуть куда, то все ок... Как побороть эту "паразитную" прокрутку или, что более предпочтительно, как снять это выделение.

"Активированный" DIV не находится в фокусе, блур на него не действует, можно пробовать передать фокус другому элементу, но для этого нужно будет генерить, а потом удалять, что не айс. Переход по табу кстати попадает на окошко со списком, что намекает на фокус на DIV, и даже является им, поскольку срабатывает событие onfocus, и даже являет в некотором роде решением задачи (путем физических извращений в виде нажатия на кнопку табуляции)...
Ответить с цитированием
  #2 (permalink)  
Старый 21.11.2012, 13:01
Новичок на форуме
Отправить личное сообщение для XPyCTang Посмотреть профиль Найти все сообщения от XPyCTang
 
Регистрация: 21.11.2012
Сообщений: 5

Проблема решена!

Суть проблемы: при клике на пункте из списка, происходит выделение, как обычно бывает при выделении мышью, того текстового элемента на котором был клик.

Решение: снять все выделения на странице
document.getSelection().removeAllRanges();
- для не IE
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как убрать повторы DIV vgd Javascript под браузер 1 14.06.2012 14:02
Как переписать div по клику по нему Lewik Общие вопросы Javascript 3 08.05.2012 22:27
Как перемотать контент в DIV на mootools greatilya Библиотеки/Тулкиты/Фреймворки 2 17.08.2011 14:21
div - затемнялка под div- кнопка, как сделать? webmonster2008 Общие вопросы Javascript 2 30.07.2010 17:09
jquery maxImage, как поместить бэкграунд в div? dplz jQuery 4 10.07.2010 14:09