События: объект event
Всякий раз, когда генерируется событие, в свойство event объекта window заносятся параметры, описывающие это событие. Кроме того, мы можем создавать свои объекты этого типа вызовом нестандартного метода document.createEventObject(), присваивать их свойствам нужные значения, а затем генерировать события методом fireEvent. Объекты данного типа не имеют методов, но обладают следующими свойствами.
Свойства объектов eventСвойство | Изменяемое | Описание |
---|
altKey | Да | Состояние клавиши Alt. | altLeft | Да | Состояние левой клавиши Alt. | bookmarks | Нет | Коллекция закладок ADO, связанных со строками цели события. | boundElements | Нет | Коллекция элементов, связанных с набором данных. | button | Да | Номер кнопки мыши, изменившей состояние. | cancelBubble | Да | Просачивается ли данное событие. | clientX | Да | Горизонтальная координата события в клиентской области. | clientY | Да | Вертикальная координата события в клиентской области. | contentOverflow | Нет | Признак переполнения содержания документа для события onlayoutcomplete. | ctrlKey | Да | Состояние клавиши Ctrl. | ctrlLeft | Да | Состояние левой клавиши Ctrl. | dataFld | Да | Столбец данных для события oncellchange. | dataTransfer | Нет | Объект, управляющий перетаскиванием данных. | fromElement | Да | Элемент, который курсор мыши покинул, для событий onmouseover и onmouseout. | keyCode | Да | Виртуальный код клавиши. | nextPage | Нет | Позиция следующей страницы в шаблоне печати. | offsetX | Да | Горизонтальная позиция курсора мыши относительно цели события. | offsetY | Да | Вертикальная позиция курсора мыши относительно цели события. | propertyName | Да | Имя изменившегося свойства цели события для события onpropertychange. | qualifier | Да | Имя элемента данных в источнике данных. | reason | Да | Результат обмена данными с источником данных. | recordset | Да | Указатель на текущую набор записей источника данных. | repeat | Да | Признак нажатия клавиши для события onkeydown. | returnValue | Да | Код завершения обработчика событий. | screenX | Да | Горизонтальная координата курсора мыши на экране. | screenY | Да | Вертикальная координата курсора мыши на экране. | shiftKey | Да | Состояние клавиши Shift. | shiftLeft | Да | Состояние левой клавиши Shift. | srcElement | Да | Элемент, являющийся целью события. | srcFilter | Да | Фильтр, вызвавший событие onfilterchange. | srcUrn | Да | Имя реакции, сгенерировашей событие. | toElement | Да | Элемент, на который курсор мыши попал, для событий onmouseover и onmouseout. | type | Да | Имя события. | x | Да | Горизонтальная позиция курсора мыши относительно отца цели события. | y | Да | Вертикальная позиция курсора мыши относительно отца цели события. |
Свойство altKey
Синтаксис: событие.altKey Изменяемое: да
Свойство altKey возвращает true, если в момент генерации события была нажата клавиша Alt, и false в противном случае.
Свойство altLeft
Синтаксис: событие.altLeft Изменяемое: да
Свойство altKey возвращает true, если в момент генерации события была нажата левая клавиша Alt, и false в противном случае. Это свойство поддерживается только в Windows NT 4.0 и Windows 2000. Если документ не имеет фокуса, то всегда возвращается false.
Свойство bookmarks
Синтаксис: событие.bookmarks Изменяемое: нет
Свойство bookmarks возвращает коллекцию закладок ADO, связанных со строками, которые изменяются данным событием. Оно формируется только событиями, связанными с изменением данных.
Свойство boundElements
Синтаксис: событие.boundElements Изменяемое: нет
Свойство boundElements возвращает коллекцию всех элементов страницы, связанных с набором данных. Оно формируется только событиями, связанными с изменением данных.
Свойство button
Синтаксис: событие.button Изменяемое: нет
Свойство button возвращает номер нажатой кнопки мыши. При этом 0 означает, что ни одна кнопка не нажата, 1 означает левую кнопку, 2 - среднюю кнопку, 4 - правую кнопку. Если нажаты две или три кнопки одновременно, то соответствующие значения суммируются.
Свойство cancelBubble
Синтаксис: событие.cancelBubble Изменяемое: да
Свойство cancelBubble по умолчанию равно false. Установка его в true прекращает просачивание данного события. Иными словами, обработчик события предка данного элемента в иерархии документа не будет вызван. В следующем примере щелчок мышью на картинке вызовет вывод на экран имени графического файла (в обработчике события элемента BODY). Однако, щелчок при нажатой клавише Shift никаких действий не вызывает, поскольку обработчик события элемента IMG в этом случае запрещает распространение события вверх.
<SCRIPT> function checkCancel() { if (event.shiftKey) event.cancelBubble = true; } function showSrc() { if (event.srcElement.tagName == "IMG") alert(event.srcElement.src); } </SCRIPT> <BODY onclick="showSrc()"> <IMG onclick="checkCancel()" src="sample.gif">
Свойство clientX
Синтаксис: событие.clientX Изменяемое: да
Свойство clientX возвращает горизонтальную позицию курсора мыши относительно клиентской области обозревателя в пикселях.
Свойство clientY
Синтаксис: событие.clientY Изменяемое: да
Свойство clientY возвращает вертикальную позицию курсора мыши относительно клиентской области обозревателя в пикселях.
Свойство contentOverflow
Синтаксис: событие.contentOverflow Изменяемое: да
Это свойство имеет смысл только для события onlayoutcomplete в шаблонах печати. Оно равно false, если все содержимое документа сгенерировано для печати, и true в противном случае.
Свойство ctrlKey
Синтаксис: событие.ctrlKey Изменяемое: да
Свойство ctrlKey возвращает true, если в момент генерации события была нажата клавиша Ctrl, и false в противном случае.
Свойство ctrlLeft
Синтаксис: событие.ctrlLeft Изменяемое: да
Свойство ctrlKey возвращает true, если в момент генерации события была нажата левая клавиша Ctrl, и false в противном случае. Это свойство поддерживается только в Windows NT 4.0 и Windows 2000. Если документ не имеет фокуса, то всегда возвращается false.
Свойство dataFld
Синтаксис: событие.dataFld Изменяемое: да
Это свойство имеет смысл только для события oncellchange. Его значением является строка, принимающая или задающая столбец данных в текущем наборе записей.
Свойство dataTransfer
Синтаксис: событие.dataTransfer Изменяемое: да
Значением этого свойства является объект, который обеспечивает доступ к форматам системного буфера сохранения (clipboard) при операциях перетаскивания (drag-and-drop). Он имеет два свойства, доступных для чтения и записи:
Свойство | Описание |
---|
dropEffect | Тип операции перетаскивания и тип выводимого на экран курсора:"copy" | Копирование. | "link" | Связывание. | "move" | Перемещение. | "none" | Курсор не задан (по умолчанию) |
| effectAllowed | Указывает, какие операции переноса данных разрешены:"copy" | Копирование. | "link" | Связывание. | "move" | Перемещение. | "copyLink" | Копирование или связывание. | "copyMove" | Копирование или перемещение. | "linkMove" | Связывание илм перемещение. | "all" | Все разрешены. | "none" | Все запрещены. | "uninitialized" | Не задано (по умолчанию). |
|
Кроме того, данный объект имеет три метода (см. список форматов буфера сохранения в описании объекта clipboardData):
Метод | Описание |
---|
clearData(формат?) | Удаляет заданный формат из буфера сохранения. Если формат не задан, то удаляются все форматы. | getData(формат) | Извлекает данные из буфера сохранения заданного формата, который может иметь значение "Text" или "URL", и возвращает их в виде строки. | setData(формат, данные) | Помещает в буфер сохранения строку данные в заданном формате, который может иметь значение "Text" или "URL". Возвращает true в случае успеха и false в противном случае. |
Пример перетаскивания объекта с использованием dataTransfer:
<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=windows-1251"> <SCRIPT> // Сообщаем источнику, что объект нужно передать как URL. function initDrag() { event.dataTransfer.setData("URL", src.href); }
// Сообщаем приемнику, что объект нужно принять как URL. function finishDrag() { dst.innerText = event.dataTransfer.getData("URL"); } </SCRIPT> </HEAD> <BODY> <A id=src href="about:текст_ссылки" onclick="return(false)" ondragstart="initDrag()">Тестовая ссылка</A> <P id=dst ondragenter="finishDrag()">Бросьте ссылку сюда</P> </BODY> </HTML>
Свойство fromElement
Синтаксис: событие.fromElement Изменяемое: да
Это свойство имеет смысл только для событий onmouseover и onmouseout. Его значением является указатель на объект, который покинул курсор мыши в момент генерации события. Следующий пример выводит сообщение при попадании курсора мыши на заданный абзац.
<SCRIPT> function testMouse(obj) { if (!obj.contains(event.fromElement)) alert("Приехали!"); } </SCRIPT> <P onmouseover="testMouse(this)">Наведите мышку.</P>
Свойство keyCode
Синтаксис: событие.keyCode Изменяемое: да
Это свойство имеет смысл только для событий onkeydown, onkeyup и onkeypress. Его значением является виртуальный код клавиши, нажатие или отпускание которой вызвало данное событие. Для остальных событий это свойство равно нулю.
Свойство nextPage
Синтаксис: событие.nextPage Изменяемое: нет
Это свойство имеет смысл только для шаблонов печати. Оно может принимать три значения: "left" (левая страница при двусторонней печати), "right" (правая страница при двусторонней печати) и "" (директива @page не задана).
Свойство offsetX
Синтаксис: событие.offsetX Изменяемое: да
Свойство offsetX возвращает горизонтальную позицию курсора мыши относительно цели события в пикселях.
Свойство offsetY
Синтаксис: событие.offsetY Изменяемое: да
Свойство offsetY возвращает вертикальную позицию курсора мыши относительно цели события в пикселях.
Свойство propertyName
Синтаксис: событие.propertyName Изменяемое: да
Свойство propertyName имеет смысл только для события onpropertychange. В этом случае оно содержит имя свойства, изменение которого породило данное событие. Пример:
<INPUT type="button" id="btn" value="Щелкните, чтобы изменить свойство VALUE этой кнопки." onclick='btn.value = "Новое значение VALUE этой кнопки."' onpropertychange='alert("Значение свойства " + event.propertyName + " изменено.")'>
Свойство qualifier
Синтаксис: событие.qualifier Изменяемое: да
Свойство qualifier возвращает имя элемента данных в источнике данных, указанное в атрибуте datasrc элемента, связанного с источником данных. Оно формируется только событиями, связанными с передачей данных.
Свойство reason
Синтаксис: событие.reason Изменяемое: да
Свойство reason возвращает код результата обмена даными с источником данных: 0 - обмен завершился успешно, 1 - обмен был прерван, 2 - обмен завершился из-за ошибки. Оно формируется только событиями, связанными с передачей данных.
Свойство recordset
Синтаксис: событие.recordset Изменяемое: да
Свойство recordset задает или возвращает объект, который является текущим набором записей в источнике данных. Оно формируется только событиями, связанными с передачей данных.
Свойство repeat
Синтаксис: событие.repeat Изменяемое: да
Это свойство имеет смысл только для события onkeydown. Оно равно true до тех пор, пока пользователь держит клавишу нажатой, и сбрасывается в false при отпускании клавиши.
Свойство returnValue
Синтаксис: событие.returnValue Изменяемое: да
Свойство returnValue по умолчанию равно true. Сброс его в false запрещает типовую обработку данного события, принятую по умолчанию. В следующем примере щелчок мыши на ссылке выводит адрес этой ссылки вместо перехода по ней (действие, принятое по умолчанию).
<SCRIPT> function showLink() { if (event.srcElement.tagName == "A") { event.returnValue = false; alert(event.srcElement.href); } } </SCRIPT> <A onclick="showLink()" href="http://allo.usaaa.ru/wdh/">WDH</A>
Свойство screenX
Синтаксис: событие.screenX Изменяемое: да
Свойство screenX возвращает горизонтальную позицию курсора мыши относительно экрана.
Свойство screenY
Синтаксис: событие.screenY Изменяемое: да
Свойство screenY возвращает вертикальную позицию курсора мыши относительно экрана.
Свойство shiftKey
Синтаксис: событие.shiftKey Изменяемое: да
Свойство shiftKey возвращает true, если в момент генерации события была нажата клавиша Shift, и false в противном случае.
Свойство shiftLeft
Синтаксис: событие.shiftLeft Изменяемое: да
Свойство shiftKey возвращает true, если в момент генерации события была нажата левая клавиша Shift, и false в противном случае. Это свойство поддерживается только в Windows NT 4.0 и Windows 2000. Если документ не имеет фокуса, то всегда возвращается false.
Свойство srcElement
Синтаксис: событие.srcElement Изменяемое: да
Свойство srcElement возвращает или задает цель события, т. е. указатель на элемент, сгенерировавший данное событие. В следующем примере щелчок мыши на любом элементе приведет к выводу на экран имени тега этого элемента:
<BODY onclick="alert(event.srcElement.tagName)"> . . . </BODY>
Свойство srcFilter
Синтаксис: событие.srcFilter Изменяемое: да
Свойство srcFilter возвращает или задает указатель на фильтр, сгенерировавший данное событие. Оно имеет смысл только для события onfilterchange.
Свойство srcUrn
Синтаксис: событие.srcUrn Изменяемое: да
Свойство srcUrn возвращает или задает имя ресурса (URN) для реакции (behavior), сгенерировавший данное событие. Оно не равно null только в том случае, когда цель события имеет присоединенную реакцию, эта реакция имеет URN и именно она породила данное событие.
Свойство toElement
Синтаксис: событие.toElement Изменяемое: да
Это свойство имеет смысл только для событий onmouseover и onmouseout. Его значением является указатель на объект, на который попал курсор мыши в момент генерации события. Следующий пример выводит сообщение при попадании курсора мыши на заданный абзац.
<SCRIPT> function testMouse(obj) { if (obj.contains(event.toElement)) alert("Приехали!"); } </SCRIPT> <P onmouseover="testMouse(this)">Наведите мышку.</P>
Свойство type
Синтаксис: событие.type Изменяемое: да
Свойство type возвращает или задает тип данного события. Тип события - это имя события без префикса on, например для события onclick эта строка равна "click".
Свойство x
Синтаксис: событие.x Изменяемое: да
Свойство x возвращает горизонтальную позицию курсора мыши относительно отца цели события в пикселях. Если мышь находилась за пределами окна в момент генерации события, то это свойство равно -1. Если цель события абсолютно позиционирована и не является потомком абсолютно позиционированного элемента или событие сгенерировано мышью, то возвращается позиция курсора мыши относительно элемента BODY.
Свойство y
Синтаксис: событие.y Изменяемое: да
Свойство y возвращает вертикальную позицию курсора мыши относительно отца цели события в пикселях. Если мышь находилась за пределами окна в момент генерации события, то это свойство равно -1. Если цель события абсолютно позиционирована и не является потомком абсолютно позиционированного элемента или событие сгенерировано мышью, то возвращается позиция курсора мыши относительно элемента BODY.
1 2 3 4
8 8 8
|