![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 8
|
Есть текстовое поле (TextField). При нажатии кнопки TAB, текстовое поле теряет фокус. Задача: при нажатии этой самой кнопки оставаться там же, на том же месте. Есть варианты?
![]() |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 8
|
Видно я не правильно понят. Свойство tabEnabled отключает или включает данный элемент в порядок обхода . Т.е. если отключить это свойство, то при обходе по TAB на этот элемент не наткнешься. Моя же проблема в другом: как будучи внутри TextField при нажатии TAB оставаться в нем же без каких-либо изменений фокуса или любых других реакций.
|
|
|||||
|
вот придумал как решить для одного текст.поля, не трогая других (если табуляцию между остальными надо сохранить):
tf.onSetFocus=function(){ Object.prototype.tabEnabled=false; } tf.onKillFocus=function(){ Object.prototype.tabEnabled=true; } |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 8
|
Silin , все казалось бы логично. Но только ты забыл это испробовать в деле.
Я пробовал и этот вариант. Если флэш запущен автономно в плэйре, то происходит следующее: при нажатии TAB фокус возвращается на себя же (вроде бы то что нам нужно), но вот только выделяет весь текст (селектит). Даже если побороть это выделение, это не решает проблему, потому как мне нужно использовать этот Флэш не автономно, а в html-странице. А в этом случае происходит нечто так же вполне логичное: фокус из textField переходит на следующий элемент страницы, либо (если такого нет) в адресную строку. Вот такой вот конфуз. Еще варианты? ![]() |
|
|||||
|
Цитата:
a тебе надо отменить табуляцию не только между объектами мувика, но и в браузере.. не думаю, что средствами флэша это удастся сделать |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 8
|
Я думаю что путь решения немного в другом. Я почти до него добрался, но все же встретил проблему.
Путь таков: необходимо перехватить событие onKeyDown со значение клавиши TAB и вернуть при этом фокус обратно (setFocus). Перехватить получается, вернуть фокус нет. Судя по всему порядок перехвата этой клавиши таков: сначала я задаю ему свое действие, потом Флэш - свое. Возникает вопрос, можно ли переопределить полностью это самое действие Флэша, либо изменить этот порядок - сначала Флэш, а потом я? |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
силин указал на проблему, которую тяжело обойти.
если бы речь шла о свф, проигрывающемся в standalone плеере, то решение с установкой фокуса при событии onKeyDown как раз подходит. но когда у тебя ролик проигрывается в браузере, на TAB реагирует и ролик, и оболочка в которой он находится. т.е. фокус теряет не просто текстовое поле в ролике - но и сам ролик. |
|
|||||
|
Регистрация: Jun 2002
Сообщений: 391
|
Что-то всё запутанно.
А так не катит? все_объекты.onSetFocus=function(){ setFocus( "обратно" ); } И вообще, насколько я понимаю, фокус часто нужен для управления объектами без мыша (клавой, например) -- так почему нельзя убрать вообще использование фокуса и просто ловить клаву? Ежели фокус всегда на одном объекте? Последний раз редактировалось mort; 09.10.2004 в 13:39. |
![]() |
Часовой пояс GMT +4, время: 20:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|