Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / DHTML /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Обработка событий в Internet Explorer - Программирование от RIN.RU
Обработка событий в Internet Explorer



События: объект 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  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь