Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 08.10.2004, 19:47
Гудвин вне форума Посмотреть профиль Отправить личное сообщение для Гудвин Посетить домашнюю страницу Гудвин Найти все сообщения от Гудвин
  № 1  
Гудвин

Регистрация: Feb 2001
Сообщений: 8
Attention Как отключить кнопку TAB в TextField?

Есть текстовое поле (TextField). При нажатии кнопки TAB, текстовое поле теряет фокус. Задача: при нажатии этой самой кнопки оставаться там же, на том же месте. Есть варианты?

Старый 08.10.2004, 20:55
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
см. TextField.tabEnabled

Старый 08.10.2004, 21:23
Гудвин вне форума Посмотреть профиль Отправить личное сообщение для Гудвин Посетить домашнюю страницу Гудвин Найти все сообщения от Гудвин
  № 3  
Гудвин

Регистрация: Feb 2001
Сообщений: 8
Видно я не правильно понят. Свойство tabEnabled отключает или включает данный элемент в порядок обхода . Т.е. если отключить это свойство, то при обходе по TAB на этот элемент не наткнешься. Моя же проблема в другом: как будучи внутри TextField при нажатии TAB оставаться в нем же без каких-либо изменений фокуса или любых других реакций.

Старый 08.10.2004, 21:41
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
можно всех того..
for(i in this) this[i].tabEnabled=false;//только в этом мувике
или
Object.prototype.tabEnabled=false;//во всех

Старый 08.10.2004, 21:51
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вот придумал как решить для одного текст.поля, не трогая других (если табуляцию между остальными надо сохранить):
tf.onSetFocus=function(){
Object.prototype.tabEnabled=false;
}
tf.onKillFocus=function(){
Object.prototype.tabEnabled=true;
}

Старый 09.10.2004, 12:03
Гудвин вне форума Посмотреть профиль Отправить личное сообщение для Гудвин Посетить домашнюю страницу Гудвин Найти все сообщения от Гудвин
  № 6  
Гудвин

Регистрация: Feb 2001
Сообщений: 8
Silin , все казалось бы логично. Но только ты забыл это испробовать в деле.
Я пробовал и этот вариант. Если флэш запущен автономно в плэйре, то происходит следующее: при нажатии TAB фокус возвращается на себя же (вроде бы то что нам нужно), но вот только выделяет весь текст (селектит). Даже если побороть это выделение, это не решает проблему, потому как мне нужно использовать этот Флэш не автономно, а в html-странице. А в этом случае происходит нечто так же вполне логичное: фокус из textField переходит на следующий элемент страницы, либо (если такого нет) в адресную строку.
Вот такой вот конфуз.
Еще варианты?

Старый 09.10.2004, 13:13
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
при нажатии TAB фокус возвращается на себя же (вроде бы то что нам нужно)
да не вроде бы, а именно то что ты просил
a тебе надо отменить табуляцию не только между объектами мувика, но и в браузере..
не думаю, что средствами флэша это удастся сделать

Старый 09.10.2004, 13:27
Гудвин вне форума Посмотреть профиль Отправить личное сообщение для Гудвин Посетить домашнюю страницу Гудвин Найти все сообщения от Гудвин
  № 8  
Гудвин

Регистрация: Feb 2001
Сообщений: 8
Я думаю что путь решения немного в другом. Я почти до него добрался, но все же встретил проблему.
Путь таков: необходимо перехватить событие onKeyDown со значение клавиши TAB и вернуть при этом фокус обратно (setFocus). Перехватить получается, вернуть фокус нет. Судя по всему порядок перехвата этой клавиши таков: сначала я задаю ему свое действие, потом Флэш - свое. Возникает вопрос, можно ли переопределить полностью это самое действие Флэша, либо изменить этот порядок - сначала Флэш, а потом я?

Старый 09.10.2004, 13:34
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 9  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
силин указал на проблему, которую тяжело обойти.

если бы речь шла о свф, проигрывающемся в standalone плеере, то решение с установкой фокуса при событии onKeyDown как раз подходит.

но когда у тебя ролик проигрывается в браузере, на TAB реагирует и ролик, и оболочка в которой он находится. т.е. фокус теряет не просто текстовое поле в ролике - но и сам ролик.

Старый 09.10.2004, 13:37
mort вне форума Посмотреть профиль Отправить личное сообщение для mort Найти все сообщения от mort
  № 10  
mort

Регистрация: Jun 2002
Сообщений: 391
Что-то всё запутанно.
А так не катит?

все_объекты.onSetFocus=function(){
setFocus( "обратно" );
}


И вообще, насколько я понимаю, фокус часто нужен для управления объектами без мыша (клавой, например) -- так почему нельзя убрать вообще использование фокуса и просто ловить клаву? Ежели фокус всегда на одном объекте?


Последний раз редактировалось mort; 09.10.2004 в 13:39.
Создать новую тему   Часовой пояс GMT +4, время: 17:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:24.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.