INTERNET-WEB.RU
Обучение работе с ПК
Операционные системы
Флеш (Flash)

Иерархия событий

Отдельные объекты HTML-документа являются частью более общего объекта. Так, объект кнопка входит в объект форма, форма находится в составе документа, документ отображен в окне браузера. Каждое событие (реакция на действие пользователя) соотносится с тем элементом, с действием над которым оно связано. Например, нажатие на клавишу формы вызывает соответствующее событие, связанное с элементом клавиша. Но ведь это и событие, связанное с родительским объектом — формой. А если и для формы тоже определен обработчик такого события? Какой обработчик должен запускаться?

Любое событие, которое возникает в элементе, сначала должно быть обработано скриптом для данного типа элементов. После этого событие передается на обработку в родительский объект, затем в следующий и т. д. — пока не достигнет уровня документ. Эту цепочку обработки можно при необходимости прервать, используя свойство cancelBubble элемента event (см. ниже).

Модель событий предполагает, что если обработка события определена для какого-либо элемента, то эта обработка используется и для всех элементов, входящих в данный (если не предусмотрено иное). Другими словами, если задана обработка события «щелчок мышью» для формы, то эта функция будет использована по умолчанию для обработки щелчка мышью по любому элементу формы.

Объект event

Добавление объекта event позволяет при обработке событий получать дополнительную информацию: какие клавиши были нажаты, где был расположен курсор мыши и т. п. Этот объект имеет следующие свойства:



Например, скрипт Способ 2 , который меняет цвет заголовков уровня 1 при щелчке по ним, можно было бы переписать еще и так:

<SCRIPT FOR=document EVENT="onClick ">

if ("HI" ==event. srcElement. tagName 

document. all. HI. style. color = "red"

</SCRIPT>

<Hl>Click!</Hl>

В этом примере скрипт уже будет вызываться при щелчке мышью по любому элементу. А уже в самом скрипте анализируется, совпадает ли I имя элемента, по которому был произведен щелчок мышью, с HI, и если да, то производится изменение цвета.

© 2009 internet-web.ru. All Rights Reserved