События
Событие
в системе происходит при наступлении некого условия, внешнего или внутреннего.
В зависимости от того, внутри или вне системы наступило это условие, различают
внешние и внутренние события. К внешним событиям относятся щелчок мышью на странице
или ее элементе, перемещение курсора мыши, нажатие клавиши на клавиатуре, изменение
размеров окна Web-обозревателя и т. п. Внутренние события — это завершение загрузки
Web-страницы, очередной "тик" системного таймера и т. п. Эта классификация
событий сделана только для удобства обучения начинающих Программистов, ведь
с точки зрения языка сценариев оба вида событий между собой не различаются и
обрабатываются одинаково.
Если
брать во внимание только события, происходящие в Web-странице, то нужно иметь
в виду, что события могут происходить как в самой странице, так и в отдельных
ее элементах. В самом деле, если пользователь щелкает мышью на части страницы,
не занятой какими-либо элементами, говорят, что событие происходит в самой странице.
Если же пользователь щелкнет на графическом изображении или текстовом абзаце,
событие происходит в этом графическом изображении или текстовом абзаце, т. е.
сообщение о наступлении события "щелчок левой кнопкой мыши" в первом
случае получит сама страница, а во втором — один из ее элементов.
Что
же нам делать с этими событиями, спросите вы? Обрабатывать.
Обработка
события заключается в реакции на них. А для реакции на них используются особым
образом написанные сценарии, называемые обработчиками событий. Обработчики привязываются
к тем или иным событиям, происходящим в каком-либо элементе страницы или самой
странице. И делается это с помощью особого расширения HTML, специально предназначенного
для поддержки Web-сценариев.
В
частности, если требуется, чтобы при наведении курсора мыши на изображение внизу
появлялось его краткое описание, нужно сделать следующее. Под изображением помещается
свободно позиционируемый элемент, содержащий текст описания, и этот элемент
делается невидимым. Далее пишутся два сценария, привязанные к событиям, возникающим
при наведении курсора мыши на графическое изображение и при "уводе"
его прочь. Первый из этих сценариев делает элемент с описанием видимым, второй
— невидимым. После этого написанные сценарии привязываются к соответствующим
событиям, происходящим в элементе графического изображения. Вот и все.
Не
будем рассматривать конкретные детали реализации этого эффекта. Во-первых, «ни
слишком зависят от выбора языка программирования, а первый (и, кстати, последний
в этой книге) сценарий JavaScript мы напишем и изучим в главе 13. Во-вторых,
в данный момент требуется анимировать элемент страницы, т. е. заставить его
двигаться.
В
большинстве интерактивных Web-страниц большая часть сценариев представляет собой
как раз обработчики событий. Именно они реализуют большую часть логики поведения
страницы при взаимодействии с пользователем. (Хотя существует определенный процент
сценариев, выполняемых сразу же после расшифровки; в основном, это код, производящий
всяческие предустановки.) Такой подход, когда почти вся программа представляет
собой обработчики событий, называется событийно-управляемым программированием.
Но мы отвлеклись. Давайте все же вернемся к нашей анимации. А разговор о программировании продолжим в главе 13, посвященной как раз Web-сценариям и работе с ними в среде Dreamweaver.