Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сфокусировать div 
:(
    Опции темы
Nata123
Дата 15.2.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.2.2006

Репутация: нет
Всего: нет



как программно установить фокус на div, это делается длоя того, чтобы вызвать обработчик onkeypress?

я делаю так divObj.focus(); но это работает так как нужно только в IE
PM MAIL   Вверх
Alx
Дата 15.2.2006, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



думаю, ошиька в 4 строке.


--------------------
PM MAIL WWW ICQ   Вверх
Innuendo
Дата 15.2.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



Alx, не, в 8-ой.. вот там второй оператор кривой.


Nata123,
а что значит сфокусировать? если он у тебя уходит на задний план, а тебе надо на передний, то это делается не фокусом.
А если у тебя текстовое поле, от фокусируй текстовое поле, а не весь див..


--------------------
=)
PM MAIL ICQ Jabber   Вверх
12345c
Дата 15.2.2006, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Nata123, странно, что работает, ни у кого до сих пор не работало, если только у DIV не установлено contentEditable=true; (ie). Только в ie будет работать.

А что мешает фокус считать совершенно условным понятием, а keypress ловить на document? (Правда, нужно позаботиться о прокрутке документа в видимую область, что focus() делает.)


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Nata123
Дата 16.2.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.2.2006

Репутация: нет
Всего: нет



Товарищи умники!
вместо того, чтобы тешить своё самолюбие, осветили бы по существу.

Я делаю поле- автозаполнения, т.е. человек в инпуте (эдите) начинает вводить буквы, ему подсвечивается в диве все города , которые с этих букв начинаются. Я хочу, чтобы человек мог клавишами ходить по списку подсвечивающихся городов, т.е. он нажимает клавишу - вниз, когда ввёл нужные буквы, и див становится активным (я это назвала "сфокусированным")и теперь я хочу, чтобы keypress срабатывал уже на диве.
я это делала методом divObj.focus(), но это работает только в IE , в опере keypress работает на диве, если на него наведена мышка..

и ещё, если знаете, подскажите метод, который определяет активен ли этот элемент? типа element.hasFocus() (true/false)
спасибо заранее

PM MAIL   Вверх
12345c
Дата 16.2.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Товарищ[ь] Nata123, я лишь про то, что Вы что-то недоговариваете - см. пример с фокусами, как описано, который не работает в ie.
Код
<div id=d1 onclick=document.all.d102.focus()>1</div>
<script>for(i=2;i<100;i++)document.write('<div>'+i+'</div>');</script>
<div id=d102 onclick=document.all.d1.focus()>102</div>
И правильно делает, потому что фокус не активируется на дивах. Позтому, раскройте секрет фирмы, если не трудно.

типа element.hasFocus прямого не существует, вместо этого создают .selection.createTextRange() (ie) и определяют, в каком месте он:

Код
onclick=r=document.selection.createRange();alert(r.parentElement().id);


Это сообщение отредактировал(а) 12345c - 16.2.2006, 13:29


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
frei
Дата 20.2.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



Я на пальцах объясню...просто сложно объяснить..
Есть див, у него на onkeypress срабатывает функция MyFunc(), просто пусть выводится сообщение.

если открыть страницу с этим дивом в IE, и кликнуть на него, увести мышку в сторону, а потом нажать любую клавишу, сработает функция MyFunc(), в опере сколько ни кликай эта функция сработает, только если мышка на этом диве...
так вот divObj.focus() в IE делает тоже самое , что если бы мы кликнули на диве и увели мышку, а вот в Опрере сообветственно не делает...как поступать, что делать?

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.