Как и стандартная модель DOM Level 2, модель обработки событий IE предостав_ ляет подробную информацию о каждом произошедшем событии в виде свойств объекта Event. Объекты Event, определенные в стандартной модели обработки со_ бытий, на самом деле разработаны на основе объекта Event из IE, поэтому можно заметить много общего между свойствами объекта Event в IE и свойствами объек_ тов Event, UIEvent и MouseEvent в DOM.
Далее приводится перечень наиболее важных свойств объекта Event в IE:
type
Строка, указывающая тип произошедшего события. Значение этого свойства совпадает с именем обработчика события без начальных символов «on» (на_ пример, "click" или "mouseover"). Свойство совместимо со свойством type в мо_ дели обработки событий DOM.
srcElement
Элемент документа, в котором произошло событие. Сравнимо со свойством target объекта Event в DOM.
button
Целое число, обозначающее нажатую кнопку мыши. Значение 1 обозначает левую кнопку, 2 – правую кнопку, а 4 – среднюю кнопку мыши. Если нажато
426 Глава 17. События и обработка событий
несколько кнопок, эти значения складываются вместе, например значение 3 соответствует левой и правой кнопкам, нажатым вместе. Сравните это со свой_ ством button объекта MouseEvent в DOM Level 2, но обратите внимание, что хотя имена свойств совпадают, интерпретация их значений разная.
clientX, clientY
Данные целочисленные свойства совместимы с одноименными свойствами MouseEvent в DOM Level 2 и указывают координаты указателя мыши в момент события относительно левого верхнего угла окна. Для документов, имеющих больший размер, чем окно, данные координаты не совпадают с позицией в до_ кументе. Для преобразования этих оконных координат в координаты доку_ мента может потребоваться прибавить к ним величину прокрутки докумен_ та. Информацию о том, как это сделать, вы найдете в разделе 14.3.1.
offsetX, offsetY
Эти целочисленные свойства указывают положение указателя мыши относи_ тельно исходного элемента. Они позволяют, например, определить, на каком пикселе объекта Image был выполнен щелчок. Эти свойства не имеют эквива_ лента в модели обработки событий DOM Level 2.
altKey, ctrlKey, shiftKey
Эти логические свойства указывают, были ли нажаты клавиши Alt, Ctrl и Shift при возникновении события. Эти свойства с совместимы с одноименными свойствами объекта MouseEvent в DOM Level 2. При этом следует отметить, что у объекта Event в IE нет свойства metaKey.
keyCode
Целочисленное свойство. Задает код клавиши для событий keydown и keyup, а также код Unicode_символа для события keypress. Коды символов преобра_ зуются в строки методом String.fromCharCode(). События клавиатуры описы_ ваются более подробно в этой главе далее.
fromElement, toElement
Свойство fromElement указывает для события mouseover элемент документа, в ко_ тором находился указатель мыши. Свойство toElement указывает для события mouseout элемент документа, в который переместился указатель мыши. Свой_ ства сравнимы со свойством relatedTarget объекта MouseEvent в DOM Level 2.
сancelBubble
Логическое свойство. Будучи установленным в true, предотвращает дальней_ шее всплывание события вверх по иерархии включения элементов. Сравнимо с методом stopPropagation() объекта Event в DOM Level 2.
returnValue
Логическое свойство, которое может быть установлено в false для предотвра_ щения выполнения пользователем действия по умолчанию, связанного с со_ бытием. Это – альтернатива традиционному приему возвращения значения false обработчиком события. Сравнимо с методом preventDefault() объекта Event в DOM Level 2.
Полное описание объекта Event в IE приведено в четвертой части книги.