Типы событий, определенные в модуле HTMLEvents, используют интерфейс Event. Все остальные типы событий используют подынтерфейсы этого интерфейса, т. е. интерфейс Event реализуется всеми объектами событий и предоставляет деталь_ ную информацию, применимую ко всем типам событий. Интерфейс Event опре_ деляет следующие свойства (обратите внимание, что эти свойства и свойства всех подынтерфейсов интерфейса Event доступны только для чтения):
type
Тип произошедшего события. Значением этого свойства является имя типа события, и это та же строка, которая была использована при регистрации об_ работчика события (например, "click" или "mouseover").
target
Узел документа, в котором произошло событие; может не совпадать с cur_ rentTarget.
currentTarget
Узел, в котором в данный момент обрабатывается событие (т. е. узел, чей об_ работчик события работает в данный момент). Если событие обрабатывается на этапах перехвата или всплывания события, значение этого свойства отли_ чается от значения свойства target. Как говорилось ранее, необходимо ис_ пользовать это свойство вместо ключевого слова this в собственных функци_ ях обработки событий.
eventPhase
Число, указывающее, какой этап распространения события выполняется в данный момент. Значением является одна из констант Event.CAPTURING_PHASE,
Event.AT_TARGET или Event.BUBBLING_PHASE.
timeStamp
Объект Date, указывающий, когда произошло событие.
bubbles
Логическое значение, указывающее, всплывает ли это событие (и события этого типа) вверх по дереву документов.
17.2. Развитые средства обработки событий в модели DOM Level 2
cancelable
Логическое значение, указывающее, связано ли с этим событием действие по умолчанию, которое может быть отменено методом preventDefault().
В дополнение к этим семи свойствам в интерфейсе Event определены два метода: stopPropagation() и preventDefault(). Они также реализуются всеми объектами со_ бытий. Любой обработчик события может вызвать метод stopPropagation() для предотвращения распространения события за пределы узла, в котором оно обра_ батывается в данный момент. Любой обработчик события может вызвать метод preventDefault(), чтобы предотвратить выполнение броузером действия по умол_ чанию, связанного с событием. Вызов preventDefault() в API DOM Level 2 эквива_ лентен возвращению обработчиком значения false в модели событий Level 0.