На заметку
Оператор typeof при передаче ему в качестве параметра функции или переменной, которой присвоена функция, вернет строку "function".
Всего объект TextFieid поддерживает четыре события. Связанные с ними свойства, которым нужно присвоить соответствующую функцию-обработчик, перечислены в табл. 19.13.
Таблица 19.13. Свойства, связанные с событиями, поддерживаемыми объектом TextFieid
Свойство |
Описание события |
onChanged |
Возникает после того, как пользователь изменит содержимое поля ввода |
onKillFocus |
Возникает после потери полем ввода или динамическим текстовым блоком фокуса ввода. В функцию-обработчик этого события передается единственный параметр - ссылка на элемент управления, принявший фокус |
onScroller |
Возникает при прокрутке содержимого поля ввода или динамического текстового блока |
onSetFocus |
Возникает после получения полем ввода или динамическим текстовым блоком фокуса ввода. В функцию-обработчик этого события передается единственный параметр - ссылка на элемент управления, имевший фокус ввода до этого момента |
НА ЗАМЕТКУ
Свойства, соответствующие событиям, поддерживают также объекты movieciip и Button. Их описание можно найти в интерактивной справке Flash.
Использование перехватчиков событий
Мы уже знаем два способа обработки событий. Первый способ - это использование для написания сценариев-обработчиков событий специальных действий (onciipEvent и on). Второй способ - это присвоение соответствующему свойству функции, которая будет вызываться в ответ на это событие и, таким образом, станет его обработчиком. Первый способ компактнее, но работает не для всех объектов, второй же не столь компактен, но зато универсален (именно с его помощью обрабатываются события в текстовых блоках).
Однако Flash предоставляет нам еще один способ обработки нужного события - с использованием так называемого перехватчика событий (в термино логии Flash - "listener", "слушатель"). Это экземпляр объекта object, содержащий особые свойства, соответствующие обрабатываемым им событиям. Этим свойствам присваиваются функции-обработчики соответствующих событий, после чего перехватчик особым образом привязывается к экземпляру объекта, события которого нужно обработать.
В случае текстового блока с помощью перехватчика могут быть обработаны события onchanged и onScroiier. (Это значит, что перехватчик должен содержать свойства onchanged и onScroiier.) Вот пример сценария, создающего такой перехватчик (предположим, что функции обработки нажатия клавиш fonchanged и fOnScroiier уже описаны): myListener = new Object(); myListener.onchanged = fOnChanged; myListener.onScroiier = fOnScroiier; Изначально объект object не содержит свойств onchanged и onScroiier. Они будут созданы в экземпляре этого объекта myListener, который мы только что создали, и будут "принадлежать" только этому экземпляру.
Для привязки перехватчика к текстовому блоку используется метод addListener объекта TextFieid. Этот метод принимает единственный параметр - ссылку на перехватчик.
txtName.addListener(myListener);