Обработчики событий

Обработчики событий предназначены для связи событий с методами и функциями, определёнными сценарием. Для каждого объекта существует определённый набор событий, расширяемый с каждой версией JavaScript. Имейте в виду, что хоть в IE4+ и NN4+ реализованы более совершенные модели событий (см. Модели событий), старая модель ещё имеет место во всех поддерживающих JavaScript броузерах и вряд ли перестанет существовать.

Вы можете заставить выполниться функцию, определённую в сценарии, или метод, определённый для какого-либо объекта, назначив эту функцию или метод как параметр для обработчика. Вы можете изменять этот параметр в сценарии аналогично значению любого свойства объекта. Нежелательно назначать параметром для обработчика функцию, физически расположенную в коде дальше, чем вызывающий объект. Обработчику события может быть возвращено некоторое значение (обычно Булево).

<SCRIPT LANGUAGE="javascript">
function function_1(...) {
...инструкции...
document.Some_Form._Button1.OnClick = function_2(...);
return true;
}
function function_2(...) {
...инструкции...
}
</SCRIPT>
<FORM NAME="Some_Form">
<INPUT TYPE="button" NAME="_Button1" OnClick="function_1(...)">

или

<A OnClick="Window.close()>

События могут быть системными (типа Error) и пользовательскими (типа MouseMove). При возникновении события оно помещается в объект event, который, как и любой другой объект, имеет свойства, к которым Вы можете обращаться в сценарии. Этот объект по-разному реализован в NN и IE, и поэтому имеет разные свойства.

Все нижеперечисленные обработчики событий соответствуют одноимённым событиям без приставки "on".


onAbort JavaScript 1.1
onAbort="handlerText"  
 

Обработчик события OnAbort выполняет JavaScript код, когда происходит событие Abort. Событие Abort происходит, когда пользователь прерывает загрузку изображения (например, нажимая связь или нажимая Кнопку остановки).

 
Используется для объектов:
JavaScript 1.1: image
 

Пример:

<IMG NAME="aircraft" SRC="f15e.gif"
onAbort="alert('You didn\'t get to see the image!')">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onAfterPrint, onBeforePrint IE5+ (кроме IE5/Mac)
onAfterPrint="handlerText"  
 

Обработчик события onAfterPrint запускается после отправки страницы на принтер или в пул печати.
Обработчик события onBeforePrint запускается сразу же после того, как пользователь щёлкает на кнопке OK в диалоговом окне печати броузера IE.

 
Используется для объектов:
IE5+: window, BODY
 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onAfterUpdate, onBeforeUpdate, onErrorUpdate IE4+ (кроме IE/Mac)
onAfterUpdate="handlerText"  
 

Если в IE/Windows вы проводите объединение данных в текстовом элементе, то его объект становится целью для трёх событий, связанных с обновлением данных в поле. События BeforeUpdate и AfterUpdate вызываются немедленно (соответственно) перед и после обновления данных. Если при извлечении информации произошла ошибка, вызывается событие ErrorUpdate.

 
Используется для объектов:
IE4+: text, textarea
 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onActivate, onBeforeDeactivate, onDeactivate IE5.5
onActivate="handlerText"  
 

Обработчики событий onActivate, onDeactivate появились в IE5.5. Но, при определённых обстоятельствах они похожи на обработчики onFocus и onBlur. Если элемент активизируется, событие Activate запускается перед событием focus. Перед тем, как элемент деактивизируется, события запускаются в следующем порядке: BeforeDeactivate, Deactivate, Blur. Только элементы, которые по своей природе могут активизироваться, могут запустить эти события.

 
Используется для объектов:
Все HTML-элементы
 

Пример:

<IMG NAME="aircraft" SRC="f15e.gif"
onActivate="alert('You didn\'t get to see the image!')">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onBeforeCopy IE5+ (кроме IE5/Mac)
onBeforeCopy="handlerText"  
 

Обработчик события запускается перед тем, как происходит копирование, инициированное пользователем с помощью меню Edit или нажатием <Ctrl+C>. Если событие происходит в результате выполнения команды Copy, оно запускается до того, как отображаются элементы меню.

 
Используется для объектов:
Все HTML-элементы
 

Пример:

<P ID="aircraft"
onBeforeCopy="alert('All Rights Reserved')">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onBeforeCut IE5+
onBeforeCut="handlerText"  
 

Обработчик события запускается перед тем, как происходит вырезание, инициированное пользователем с помощью меню Edit или нажатием <Ctrl+X>. Если событие происходит в результате выполнения команды Cut, оно запускается до того, как отображаются элементы меню. Присвоение обработчику функции делает активным соответствующий неактивный элемент

 
Используется для объектов:
Все HTML-элементы
 

Пример:

<P ID="aircraft"
onBeforeCut="alert('All Rights Reserved')">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onBeforeEditFocus IE5+ (кроме IE5/Mac)
onBeforeEditFocus="handlerText"  
 

Обработчик события запускается при редактировании элемента на странице в такой среде, как элемент управления ActiveX или при редактировании содержимого сраницы в IE5.5. Событие BeforeEditFocus запускается перед тем, как элемент активизируется. Событие запускается всякий раз, когда пользователь щёлкает мышью на элементе.

 
Используется для объектов:
Все HTML-элементы
 

Пример:

<P ID="aircraft"
onBeforeEditFocus="valueCheck()">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onBeforePaste IE5+ (кроме IE5/Mac)
onBeforePaste="handlerText"  
 

Как и события BeforeCopy, BeforeCut, событие BeforePaste возникает до отображения контекстного меню или меню Edit, пока текущий объект (или его часть) выделен. Использование обработчика события onBeforePaste для установки свойства event.returnValue в значение false гарантирует, что элементом можно будет управлять из контекстного меню или меню Edit.

 
Используется для объектов:
Все HTML-элементы
 

Пример:

<INPUT TYPE="TEXT" ID="aircraft"
onBeforePaste="alert('You change this value')">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onBeforeUnload IE4+ (кроме IE5/Mac)
onBeforeUnload="handlerText"  
 

Любое действие пользователя, реально выгружающее текущую страницу или заменяющую её новой, запускает обработчик события onBeforeUnload.

 
Используется для объектов:
IE4+: window
 

Пример:

function verifyClose() {
   event.returnValue = "We really like you and hope you will stay longer."
}
window.onbeforeunload = verifyClose

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onBlur JavaScript 1.0
onBlur="handlerText"  
 

Выполняет код JavaScript, когда возникает событие blur; то есть, если элемент формы теряет фокус или если окно или фрэйм теряют фокус.

 

Используется для объектов:
JavaScript 1.0: FORM, window, frame, frameset
JavaScript 1.1: select, text, textarea
JavaScript 1.2: Button, Checkbox, FileUpload, Layer, Password, Radio, Reset, Submit
IE5+,  NN6: Все HTML-элементы

 

Пример:

<INPUT TYPE="text" VALUE="" NAME="userName"
onBlur="required(this.value)">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onBounce IE 4
onBounce="handlerText"  
 

Обработчик событий onBounce запускается только тогда, когда свойство behavior элемента MARQUEE принимает значение alternate. В этом возвратно-поступательном режиме каждый раз, когда прокручиваемый текст достигает границы области и собирается выполнить обратное движение, запускается событие опВоипсе.

 

Используется для объектов:
IE 4 : MARQUEE

 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onChange JavaScript 1.0
onChange="handlerText"  
 

Выполняет код JavaScript, когда возникает событие change; то есть, если поле Select, Text или Textarea теряет фокус, а его значение было изменено.

 

Используется для объектов:
JavaScript 1.0: select, text, textarea
JavaScript 1.2: fileUpload

 

Пример:

<INPUT TYPE="text" VALUE="" NAME="userName"
onChange="checkValue(this.value)">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onClick JavaScript 1.0
onClick="handlerText"  
 

Выполняет код JavaScript, когда возникает событие click; то есть, когда сделан щелчок по объекту или форме. (Событие click является комбинацией событий MouseDown и MouseUp). Для переключателей/checkboxes, гиперссылок, радио-кнопок, кнопок reset и кнопок submit обработчик onClick может вернуть false для отмены акции, нормально ассоциированной с событием click.

Например, следующий код создаёт ссылку, которая при щелчке по ней выводит диалог confirm. Если пользователь щёлкает ссылку, а затем выбирает cancel, страница, специфицированная ссылкой, не загружается.

<A HREF = "http://home.netscape.com/"
onClick="return confirm('Load Netscape home page?')">Netscape</A>

Если обработчик возвращает false, акция по умолчанию объекта отменяется так:

  • Кнопки — нет акции по умолчанию; ничего не отменяется.
  • Радио-кнопки и переключатели — ничего не устанавливается.
  • Кнопки submit — форма не отправляется.
  • Кнопки reset — значения формы не восстанавливаются.

На некоторых платформах возвращение false обработчиком onClick для кнопок reset не даёт эффекта.

 

Используется для объектов:
JavaScript 1.0: A, Anchor, Link, checkbox, radio, button и submit
JavaScript 1.1: reset
JavaScript 1.2: document
IE5+,  NN6: Все HTML-элементы

 

Пример:

<A HREF="..." onClick="this.href=pickRandomURL()" onMouseOver="window.status='Pick a random URL'; return true">Go!</A>

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onControlSelect IE5.5
onControlSelect="handlerText"  
 

Обработчик события запускается перед тем, как пользователь производит выделение области, названной компанией Microsoft "управляющим выделением". Что такое "управляющее выдделение", компания Microsoft не объясняет.

 

Используется для объектов:
IE5.5: Все HTML-элементы

 

Пример:

<P onControlSelect="инструкции">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onCopy, onCut IE5.5 (кроме IE5/Mac)
onCopy="handlerText"  
 

Обработчики событий запускаются перед тем, как пользователь инициирует действие копирования или вырезки текущего объекта. Каждому событию предшествует соответствующее событие Before-. Данные обработчики событий позволяют добавить возможность редактирования к тем элементам, редактирование которых, в принципе, невозможно. В таких случаях следует сделать доступными опции Copy и Cut в контекстном меню или меню Edit, установив свойство event.returnValue = false. Затем обработчики должны поместить содержимое объекта в буфер обмена, применив метод setData() для объекта clipboardData.

 

Используется для объектов:
IE5.5: Все HTML-элементы

 

Пример:

function selectWhole() {
    var obj = window.event.srcElement
    var range = document.body.createTextRange()
    range.moveToElementText(obj)
    range.select()
    event.returnValue = false
}
function handleCut() {
    var rng = document.selection.createRange()
    clipboardData.setData("Text",rng.text)
    var elem = event.srcElement
    elem.innerText = ""
    event.returnValue = false
}
function handlePaste() {
    var elem = window.event.srcElement
    if (elem.className == "blanks") {
        elem.innerHTML = clipboardData.getData("Text")
    }
    event.returnValue = false
}
    function handleBeforePaste() {
    var elem = window.event.srcElement
    if (elem.className == "blanks") {
        event.returnValue = false
    }
}

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onDblClick JavaScript 1.2
onDblClick="handlerText"  
 

Выполняет код JavaScript при возникновении события DblClick; то есть, когда пользователь дважды щёлкнет элемент формы или гиперссылку. DblClick не реализован на Macintosh. Следует заметить, что после первого щелчка мыши наступает событие Click. Скорость двойного щелчка определяют настройки операционной системы.

 

Используется для объектов:
JavaScript 1.2: A, Anchor, Link, document
IE4+,  NN6: Все HTML-элементы

 

Пример:

<form>
<INPUT Type="button" Value="Double Click Me!" onDblClick="alert('You just double clicked me!')">
</form>

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onDrag IE5+
onDrag="handlerText"  
 

Событие Drag происходит после события DragStart и затем продолжает постоянно запускаться, пока пользователь перетаскивает по экрану выделенную область или объект подобно событию MouseMove, только с тем отличием, что оно происходит даже тогда, когда указатель мыши неподвижен. Событие продолжается до тех пор, пока указатель находится в окне броузера.

 

Используется для объектов:
IE5+: Все HTML-элементы

 

Пример:

Рассмотрим типичную операцию перетаскивания. Представим, что названия ячеек таблицы совпадают с содержимым ячеек: "truck" в ячейке A1; "round" в ячейке B1; "doll" в ячейке A2 и т.д..

truck

doll

 

round

 

 

<SPAN CLASS="BLANKTEXT" ID="blank1">blank text</SPAN>

Перетаскиваемый объект проделает следующий путь: из ячейки A1 через ячейки B1 и B2 в элемент SPAN с идентификатором blank1.

Во время операции перетаскивания многие объекты способны генерировать события, связанные с ней. Последовательность событий, а также цели их назначения представлены в таблице.

Событие Цель Описание
onDragStart ячейка A1 Первое событие, запускаемое при операции перетаскивания
onDrag ячейка A1 Продолжает запускаться для этой цели во время всей операции. В промежутках могут запускаться другие события.
onDragEnter ячейка A1 Хотя указатель ещё не покинул ячейку A1, событие DragEnter происходит при первом движении в пределах исходного элемента.
onDragOver ячейка A1 Запускается на протяжении операции для элементов, над которыми перемещается указатель. Если пользователь просто удерживает кнопку мыши и не перемещает указатель, то события Drag и DragOver постоянно запускаются одно за другим.
(повторение) ячейка A1 События Drag и DragOver запускаются попеременно, пока указатель находится в ячейке A1.
onDragEnter TABLE Элемент TABLE, заданный границей или областью между ячейками, получает событие DragEnter, когда в эту область попадает указатель.
onDragLeave ячейка A1 Событие DragLeave запускается после того, как для другого элемента происходит событие DragEnter.
onDrag ячейка A1 Событие продолжает происходить.
onDragOver TABLE Исходным элементом этого события становится TABLE, покольку указатель перемещается в его область. Если указатель остаётся неподвижным, то события Drag (ячейка A1) и DragOver (TABLE) продолжают генерироватьс попеременно.
onDragEnter ячейка B1 В результате перетаскивания указатель смещается с границы таблицы вобласть ячейки B1.
onDragLeave TABLE Событие происходит после того, как указатель покидает элемент TABLE.
onDrag ячейка A1 Событие Drag продолжает происходить для объекта ячейки A1.
onDragOver ячейка B1 Указатель находится в ячейке B1, поэтому событие DragOver происходит для этого объекта. Оно запускается несколько раз (в зависимости от производительности компьютера и действий пользователя) попеременно с событием Drag.
Те же события, по мере того, как указатель перемещается из ячейки B1 через границу элемента TABLE в ячейку B3 и к внешнему краю элемента TABLE.
onDragEnter BODY Перетаскивание выжодит за пределы элемента TABLE и происходит теперь внутри элемента BODY.
onDragLeave TABLE Событие происходит после того, как указатель покидает элемент TABLE.
onDrag ячейка A1 Событие Drag продолжает происходить для объекта ячейки A1.
onDragOver BODY Указатель находится внутри элемента BODY. Событие запускается несколько раз (в зависимости от производительности компьютера и действий пользователя) попеременно с событием Drag.
onDragEnter blank1 Указатель достигает элемента SPAN, чьим идентификатором является "blank1" и где находятся области вставки.
onDragLeave BODY Указатель покидает элемент BODY.
onDrag ячейка A1 Событие Drag продолжает происходить для объекта ячейки A1.
onDragOver blank1 Указатель находится на элементе blank1. Событие запускается несколько раз (в зависимости от производительности компьютера и действий пользователя) попеременно с событием Drag.
onDrop blank1 Элемент SPAN информируется о текущем перетаскивании.
onDragEnd ячейка A1 Исходный элемент получает событие, указывающее на завершение процесса перетаскивания. Это событие происходит даже в том случае, если процесс не завершается успешно из-за того, что элемент не дошёл до объекта назначения.

На практике некоторые из событий, приведённых в таблице, могут и не происходить. Это связано с тем, сколько обработчиков событий используется в сценарии. Другим фактором является скорость перетаскивания (а также производительность процессора). Чаще всего опускаются такие события, как DragOver и DragLeave, а также некоторые из событий DragOver, если курсор проходит по объекту быстрее, чем может возникнуть событие. Несмотря на это, некоторые события происходят всегда: DragStart, Drag, Drop, DragEnd.

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onDragEnter, onDragLeave IE5+ (кроме IE5/Mac)
onDragEnter="handlerText"  
 

Эти события происходят во время операции перетаскивания. Когда указатель перемещается в прямоугольную область, ограничивающую элемент на странице, происходит событие DragEnter. Когда же он эту область покидает - событие DragLeave. События происходят для того элемента, через который проходит перетаскивание. В зависимости от скорости перетаскивания, а также от производительности компьютера, данные события могут пропускаться.

 

Используется для объектов:
IE5+: Все HTML-элементы

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onDragStart IE4+
onDragStart="handlerText"  
 

Событие DragStart запускается первым в последовательности, сопровождающей процесс перетаскивания объекта пользователя. Обработчик события привязан к исходному элементу. Обычно обработчик события устанавливает свойство dataTransfer.effectAllowed в IE5/Win.

 

Используется для объектов:
IE4+: Все HTML-элементы

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onDragOver IE5+ (кроме IE5/Mac)
onDragOver="handlerText"  
 

Это событие происходят во время операции перетаскивания, когда указатель проходит поверх элемента. При перетаскивании объекта это событие происходит для всех элементов, через которые проходит указатель. Если никаких событий больше не происходит (кнопка мыши нажата и курсор находится неподвижно над элементом), события Drag и DragOver происходят по очереди.

 

Используется для объектов:
IE5+: Все HTML-элементы

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onDragDrop только NN4
onDragDrop="handlerText"  
 

Выполняет код JavaScript при возникновении события DragDrop; то есть, если пользователь отпустит объект в окне браузера, как при перетаскивании файлов. Событие DragDrop возникает тогда, когда системный объект (файл, ярлык и т.п.) отпускается в окне браузера с использованием системного механизма drag and drop. Нормальной реакцией браузера будет попытка загрузить объект в окно браузера. Если обработчик для события DragDrop возвратит true, браузер загружает объект нормальным образом. Если обработчик возвратит false, drag and drop отменяется. Получение свойства data события DragDrop требует привилегии UniversalBrowserRead (только для NN).

 

Используется для объектов:
NN4: window

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onDrop IE5+
onDrop="handlerText"  
 

Событие Drop происходит тогда, когда полдьзователь отпускает кнопку мыши, завершая тем самым операцию перетаскивания

 

Используется для объектов:
IE5+: Все HTML-элементы

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onError JavaScript 1.1 (не поддерживается в NN6)
onError="handlerText"  
 

Событие error возникает только тогда, когда возникает ошибка синтаксиса JavaScript или ошибка времени выполнения, а не при появлении ошибки браузера. Например, если Вы попытаетесь установить window.location.href='notThere.html', а файл notThere.html не существует, результирующим сообщением об ошибке будет сообщение браузера; следовательно, onError не будет перехватывать это сообщение. Однако событие error будет включаться неверным URL в тэге IMG или неверными данными изображения.

window.onerror применяется только к ошибкам, которые возникают в окне, содержащем window.onerror, но не к ошибкам в других окнах.
onError может иметь следующие значения:

  • null для подавления всех диалогов JavaScript об ошибках. Установка window.onerror в null означает, что Ваши пользователи не увидят ошибок JavaScript, вызванных Вашим кодом.
  • Имя функции, обрабатывающей ошибки (аргументами являются текст сообщения, URL и номер строки с ошибкой). Для подавления стандартного диалога JavaScript об ошибках эта функция обязана возвращать true. См. Пример 3 ниже.
  • Переменная или свойство, содержащее null или верную ссылку на функцию.

Если Вы пишете функцию-обработчик ошибок, у Вас есть три опции для сообщения об ошибках:

  • Отслеживать ошибки, но дать возможность сообщать о них через стандартный диалог JavaScript (использовать функцию обработки ошибок, которая возвращает false или не возвращает значение).
  • Самостоятельно сообщать об ошибках и отключить стандартный диалог (использовать функцию обработки ошибок, возвращающую true).
  • Отключить все сообщения об ошибках (установить null в обработчик onError).
 

Используется для объектов:
JavaScript 1.1: image, window

 

Пример:

  • <IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2" onError="null">
  • function doNothing() {return true;}
    window.onError = doNothing;
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onFilterChange IE4+ (кроме IE5/Mac)
onFilterChange="handlerText"  
 

Событие происходит тогда, когда фильтр переводит элемент в новое состояние или преобразование объекта завершается. Событие происходит только для объектов, к которым применены фильтры или эффекты преобразования в IE.

 

Используется для объектов:
IE5+: Все HTML-элементы

 

Пример:

<DIV ID="image1" STYLE="visibility:visible; position:absolute; top:150px; left:150px; filter:progID:DXImageTransform.Microsoft.Iris(irisstyle='CIRCLE', motion='in')" onFilterChange="finish()"><IMG SRC="desk1.gif" HEIGHT=90 WIDTH=120></DIV>

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onFinish IE 4
onFinish="handlerText"  
 

Обработчик событий onFinish запускается только тогда, когда значение циклической прокрутки элемента MARQUEE равно числу 1 или больше. После выполнения последнего цикла обработки текста запускается событие Finish

 

Используется для объектов:
IE 4 : MARQUEE

 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onFocus JavaScript 1.0
onFocus="handlerText"  
 

Выполняет код JavaScript при возникновении события focus; то есть, если окно, фрэйм или набор фрэймов получает фокус или если элемент формы получает фокус. Для простых HTML-элементов, по умолчанию не способных получать фокус, в IE5+ должен быть установлен атрибут TABINDEX.

 

Используется для объектов:
JavaScript 1.0: select, text, textarea
JavaScript 1.1: FORM, window, frame, frameset
JavaScript 1.2: Button, Checkbox, FileUpload, Layer, Password, Radio, Reset, Submit
IE5+: Все HTML-элементы

 

Пример:

<INPUT TYPE="textarea" VALUE="" NAME="valueField" onFocus="this.blur()">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onHelp IE4+
onHelp="handlerText"  
 

Данный обработчик события в Windows запускается для активного элемента, когда пользователь нажимает функциональную клавишу. Для объекта window - когда активизирует контекстную справку безрежимного модального диалогового окна. В IE5/Mac событие происходит только для объекта Window, и обработчик должен быть в дескрипторе BODY. В Windows функциональная клавиша - <F1>. В MacOs - <Help>. Чтобы предотвратить появление контекстной справки, обработчику должно возвратиться false.

 

Используется для объектов:
IE4+: Все HTML-элементы
IE5/Mac: Только Window

 

Пример:

<INPUT TYPE="text" NAME="name" SIZE=30 onFocus="showLegend()" onBlur="hideLegend()" onHelp="return showNameHelp()">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onKeyDown JavaScript 1.2
onKeyDown="handlerText"  
 

Выполняет код JavaScript при возникновении события KeyDown; то есть, если пользователь нажимает клавишу на клавиатуре. Событие KeyDown всегда возникает до события KeyPress. Если onKeyDown возвращает false, событие KeyPress не возникает. Это предотвращает появление событий KeyPress при удерживании пользователем клавиши в нажатом состоянии.

 

Используется для объектов:
JavaScript 1.2: A, Anchor, Link, Document, Image, Textarea
IE4+,    NN6: Все HTML-элементы

 

Пример:

Здесь использована функция blockA для вычисления символов, введённых с клавиатуры в текстовый бокс textentry. Если пользователь вводит "a" или "A", функция возвращает false, а текстовый бокс не отображает значение.

<form name="main">
<input name="textentry"
type=text size=10 maxlength=10>
</form>

<script>
function blockA(e) {

var keyChar = String.fromCharCode(e.which);
if (keyChar == 'A' || keyChar == 'a')
return false;

}

document.main.textentry.onkeydown = blockA;
</script>

В этой функции свойство which события присваивает ASCII-значение нажатой пользователем клавиши переменной keyChar. Оператор if вычисляет keyChar и возвращает false для специфицированных символов.

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

OnKeyPress JavaScript 1.2
onKeyPress="handlerText"  
 

Выполняет код JavaScript при возникновении события KeyPress; то есть, если пользователь удерживает клавишу нажатой. Событие KeyPress возникает сразу после события KeyDown только тогда, когда onKeyDown возвращает что-либо, отличное от false. Событие KeyPress возникает повторно до тех пор, пока пользователь не отпустит клавишу. Вы можете отменять индивидуальные события KeyPress.

 

Используется для объектов:
JavaScript 1.2: A, Anchor, Link, Document, Image, Textarea
IE4+,    NN6: Все HTML-элементы

 

Пример:

Здесь метод captureEvents отлавливает ввод с клавиатуры, а обработчик onKeyPress вызывает функцию blockA для проверки нажатий клавиш. Если нажимаются клавиши "a" или "z", функция прокручивает окно Navigator'а.

function blockA(e) {
var keyChar = String.fromCharCode(e.which);

if (keyChar == 'A' || keyChar == 'a')
self.scrollBy(10,10);

else if(keyChar == 'Z' || keyChar == 'z')
self.scrollBy(-10,-10);

else return false;
}

document.captureEvents(Event.KEYPRESS);
document.onkeypress = blockA;

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

OnKeyUp JavaScript 1.2
onKeyUp="handlerText"  
 

Выполняет код JavaScript при возникновении события KeyUp; то есть, если пользователь отпустил нажатую клавишу.

 

Используется для объектов::
JavaScript 1.2: A, Anchor, Link, Document, Image, Textarea
IE4+,    NN6: Все HTML-элементы

 

Пример:

Здесь метод captureEvents отлавливает ввод с клавиатуры, а обработчик onKeyUp вызывает функцию Key_Up. Метод alert функции открывает диалоговое окно для отображения значения нажатой клавиши.
function Key_Up(e) {
var keyChar = String.fromCharCode(e.which);

alert("Hold '" + keyChar +"' again for me, okay?");
}
document.onkeyup=Key_Up;

document.captureEvents(Event.KEYUP);

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

OnLoseCapture IE5+
OnLoseCapture="handlerText"  
 

Обработчик события onLoseCapture запускается тогда, когда отключается захват событий для данного объекта. Это происходит, если пользователь производит следующие действия:

  • Активизирует другое окно
  • Выводит любое системное диалоговое окно
  • Прокручивает страницу
  • Открываен контекстное меню броузера
  • Активизирует поле адреса окна броузера
 

Используется для объектов:
IE5+: Все HTML-элементы

 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onLoad JavaScript 1.0
onLoad="handlerText"  
 

Выполняет код JavaScript при возникновении события load; то есть, когда браузер закончил загрузку окна или всех фрэймов тэга FRAMESET. Используйте обработчик onLoad в тэге BODY или FRAMESET, например, < BODY onLoad="...">.

Для тэгов FRAMESET и FRAME: событие обработчика onLoad во фрэйме (помещённого в тэг BODY) возникает до onLoad тэга FRAMESET (помещённого в тэг FRAMESET).

Для изображений обработчик onLoad указывает скрипт, исполняемый при выводе изображения. Не путайте вывод изображения с загрузкой изображения. Вы можете загрузить несколько изображений, затем вывести их поочерёдно в одном и том же объекте Image путём установки свойства src объекта. Если Вы изменяете изображение, выводимое таким образом, onLoad выполняется каждый раз при выводе изображения, а не только при загрузке изображений в память.

Если Вы специфицируете обработчик onLoad для объекта Image, который выводит циклическую GIF-анимацию (multi-image GIF), каждый цикл анимации включает обработчик onLoad, и обработчик выполняется однократно для каждого цикла.

Можно использовать обработчик onLoad для создания анимации JavaScript путём повторяющейся установки свойства src объекта Image.

 

Используется для объектов:
JavaScript 1.0: image, window
JavaScript 1.2: layer
JavaScript 1.3: frame, frameset

 

Пример:

<BODY onLoad="window.alert("Welcome to the Brave New World home page!")>

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onMouseDown JavaScript 1.2
onMouseDown="handlerText"  
 

Выполняет код JavaScript, когда возникает событие MouseDown; то есть, когда пользователь нажимает клавишу мыши. Если onMouseDown возвращает false, акция по умолчанию (вход в режим drag, вход в режим selection или активизация гиперссылки) отменяется. Если указатель мыши переходит из одной области клиентской карты изображений в другую, Вы получите сначала onMouseOut для первой области, а затем onMouseOver - для второй области.

Тэги Area, использующие onMouseOut, обязаны иметь атрибут HREF в тэге AREA.

Вы обязаны возвратить true в обработчике события, если хотите установить свойства status или defaultStatus с помощью onMouseOver.

 

Используется для объектов:
JavaScript 1.2: Button, document, A, Anchor, Link
IE4+,    NN6: Все HTML-элементы

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onMouseEnter, onMouseLeave IE5.5
onMouseEnter="handlerText"  
 

В IE5.5 появились два новых обработчика событий: onMouseEnter и onMouseLeave. Оба они работают также, как и MouseOver и MouseOut соответственно. Здесь компания Microsoft предлагает лишь альтернативную терминологию. В IE5.5 работают как старые события, так и новые.

 

Используется для объектов:
IE5.5: Все HTML-элементы

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onMouseMove JavaScript 1.2
onMouseMove="handlerText"  
 

Выполняет код JavaScript, когда возникает событие MouseMove; то есть, когда пользователь перемещает курсор. Поскольку перемещения мыши происходят очень часто, по умолчанию onMouseMove не является обработчиком для какого-либо объекта. Вы можете явно установить его для ассоциирования с определённым объектом. Событие MouseMove высылается только тогда, когда захват события запрашивается объектом.

 

Используется для объектов:
Объект отсутствует.

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onMouseOut JavaScript 1.0
onMouseOut="handlerText"  
 

Выполняет код JavaScript, когда возникает событие MouseOut; то есть каждый раз выходе указателя мыши за пределы области (в клиентской карте изображений) или гиперссылки.

В IE5.5 существует дублирующее события onMouseLeave, которое запускается непосредственно после даннго.

Следует заметить, что событие иногда не запускается.

 

Используется для объектов:
JavaScript 1.0: A, Anchor, Link
JavaScript 1.1: AREA,
JavaScript 1.2: layer
IE4+,    NN6: Все HTML-элементы

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onMouseOver JavaScript 1.0
onMouseOver="handlerText"  
 

Выполняет код JavaScript, когда возникает событие MouseOver; то есть всякий раз при проведении указателя мыши над объектом или областью. Если мышь проводится из одной области клиентской карты изображений в другую, Вы получите onMouseOut для первой области, а затем onMouseOver - для второй области. Тэги Area, использующие onMouseOver, обязаны иметь атрибут HREF в тэге AREA. Вы обязаны возвратить true в обработчике события, если хотите установить свойства status или defaultStatus с помощью onMouseOver.

В NN4/Win из-за ошибки событие происходит постоянно при перемещении указателя по объекту.

В IE5.5 существует дублирующее события onMouseEnter, которое запускается непосредственно после даннго.

 

Используется для объектов:
JavaScript 1.1: A, Anchor, Link
JavaScript 1.1: AREA
JavaScript 1.2: layer
IE4+,    NN6: Все HTML-элементы

 

Пример:

<A HREF="http://home.netscape.com/" onMouseOver="window.status='Click this if you dare!'; return true">Click me</A>

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onMouseUp JavaScript 1.2
onMouseUp="handlerText"  
 

Выполняет код JavaScript, когда возникает событие MouseUp; то есть, когда пользователь отпускает нажатую клавишу мыши.

 

Используется для объектов:
JavaScript 1.2: Button, document, A, Anchor, Link
IE4+,    NN6: Все HTML-элементы

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onPaste IE5+ (кроме IE5/Mac)
onPaste="handlerText"  
 

Событие Paste происходит после того, как пользователь или сценарий инициирует вставку. Ему предшествует событие BeforePaste. Обработчик используется для добавления свойств редактирования к нередактируемым элементам. См. пример.

 

Используется для объектов:
IE4+,    NN6: Все HTML-элементы

Пример:

function selectWhole() {
    var obj = window.event.srcElement
    var range = document.body.createTextRange()
    range.moveToElementText(obj)
    range.select()
    event.returnValue = false
}

function handleCopy() {
    var rng = document.selection.createRange()
    clipboardData.setData("Text",rng.text)
    event.returnValue = false
}

function handlePaste() {
    var elem = window.event.srcElement
    if (elem.className == "blanks") {
        elem.innerHTML = clipboardData.getData("Text")
    }
    event.returnValue = false
}

function handleBeforePaste() {
    var elem = window.event.srcElement
    if (elem.className == "blanks") {
        event.returnValue = false
    }
}

<TABLE CELLPADDING=5 onBeforeCopy="selectWhole()" onCopy="handleCopy()" >
<P ID="myP" onBeforePaste="handleBeforePaste()" onPaste="handlePaste()">

Параметры
handlerText Код JavaScript или вызов функции JavaScript

onMove JavaScript 1.2
onMove="handlerText"  
 

Выполняет код JavaScript, когда возникает событие перемещения; то есть, если пользователь или скрипт перемещает окно или фрэйм.

 

Используется для объектов:
JavaScript 1.2: window

 

Пример:

function open_now(){
var myWin;
myWin=window.open("","displayWindow","width=400,height=400,menubar=no,
location=no,alwaysRaised=yes");
var text="<html><head><title>Test</title></head>"
+"<body bgcolor=white><h1>Please move this window</h1></body>"+"</html>";
myWin.document.write(text);
myWin.captureEvents(Event.MOVE);

myWin.onmove=fun2;
}
function fun2(){

alert("Hey you moved me!");
this.focus(); //'this' указывает на текущий объект
}

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onPropertyChange IE5+ (кроме IE5/Mac)
onPropertyChange="handlerText"  
 

Это событие происходит, когда сценарий изменяет какое-либо свойство объекта. Это относится и к стилю объекта. Изменение свойств методом setAttribute() также запускает данное событие.
Свойство event.propertyName содержит имя (в строковом формате) свойства, которое было изменено. В случае изменения свойств стиля это свойство события начинается с префикса ".style".

 

Используется для объектов:
IE5+: Все HTML-элементы

 

Пример:

function normalText() {
    myP.innerText = "This is a sample paragraph."
}

function shortText() {
    myP.innerText = "Short stuff."
}

function normalColor() {
    myP.style.color = "black"
}

function hotColor() {
    myP.style.color = "red"
}

function showChange() {
    var objID = event.srcElement.id
    var propName = event.propertyName
    var newValue = eval(objID + "." + propName)
    status = "The " + propName + " property of the " + objID
    status += " object has changed to \"" + newValue + "\"."
}

<INPUT TYPE="radio" NAME="btn1" CHECKED onClick="normalText()">
<INPUT TYPE="radio" NAME="btn1" onClick="shortText()">
<INPUT TYPE="radio" NAME="btn2" CHECKED onClick="normalColor()">
<INPUT TYPE="radio" NAME="btn2" onClick="hotColor()">

<P ID="myP" onPropertyChange = "showChange()">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onReadyStateChange IE4+
onReadyStateChange="handlerText"  
 

Обработчик события onReadyStateChange запускается тогда, когда изменяется состояние загрузки элемента. Изменение состояния ещё не гарантирует, что сценарий может прочесть свойства объекта.

 

Используется для объектов:
IE4+: APPLET, document, FRAME, FRAMESET, IFRAME, IMG, LINK, OBJECT, SCRIPT. Для других объектов событие происходит только в том случае, если им определено поведение DHTML.

 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onResize NN4+   IE4+
onResize="handlerText"  
 

Обработчик события onResize запускается при изменении размеров объекта в ответ на действия пользователя и сценария. Обработчик события может использоваться в NN4 для устранения ошибки, связанной с изменением размера изображения.

 

Используется для объектов:
NN4+: только window
IE4: APPLET, AREA, BUTTON, DIV, FIELDSET, FRAMESET, IMG, MARQUEE, SELECT, TABLE, TD, TH и window
IE5+: Все HTML-элементы при условии, что элемент имеет такие атрибуты, как высота и ширина.

 

Пример:

function open_now(){
var myWin;

myWin=window.open("","displayWin","width=400,height=300,resizable=yes,

menubar=no,location=no,alwaysRaised=yes");
var text="<html><head><title>Test</title></head>"

+"<body bgcolor=white><h1>Please resize me</h1></body>"

+"</html>";
myWin.document.write(text);
myWin.captureEvents(Event.RESIZE);

myWin.onresize=alert_me;
}

function alert_me(){
alert("You resized me! \nNow my outer width: " + this.outerWidth +

"\n and my outer height: " +this.outerHeight);
this.focus();
}

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onResizeEnd, onResizeStart IE5.5
onResizeEnd="handlerText"  
 
Судя по названию, эти события должны возникать в IE5.5 при изменении размеров документа. К сожалению, компания Microsoft не предоставила подходящего описания этих событий.
 

Используется для объектов:
IE5+: Все HTML-элементы при условии, что элемент имеет такие атрибуты, как высота и ширина.

 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onReset JavaScript 1.1
onReset="handlerText"  
 

Выполняет код JavaScript, когда возникает событие reset; то есть, когда пользователь восстанавливает значения элементов формы (щёлкая кнопку Reset).

 

Используется для объектов:
JavaScript 1.1: FORM

 

Пример:

<FORM NAME="form1" onReset="alert('Defaults have been restored.')">

State:
<INPUT TYPE="text" NAME="state" VALUE="CA" SIZE="2"><P>
<INPUT TYPE="reset" VALUE="Clear Form" NAME="reset1">
</FORM>

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onScroll IE 5
onScroll="handlerText"  
 

Выполняет код JavaScript во время прокрутки документа. При этом событии свойство event.srcElement всегда возвращает null.

 

Используется для объектов:
IE 5: BODY

 

Пример:

<SCRIPT LANGUAGE="JavaScript">
function zipBack() {
    window.scroll(0,0)
}
function init() {
    document.body.onscroll = zipBack
}
</SCRIPT>
<BODY onLoad="init()">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onSelect JavaScript 1.0
onSelect="handlerText"  
 

Выполняет код JavaScript, когда возникает событие select; то есть, когда пользователь выделяет некоторый текст в поле text или textarea.

 

Используется для объектов:
JavaScript 1.0 (в NN - только после 4 версии): text, textarea

 

Пример:

<INPUT TYPE="text" VALUE="" NAME="valueField" onSelect="selectState()">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onSelectionChange IE 5.5
onSelectionChange="handlerText"  
 
Событие SelectionChange происходит в связи со многими действиями пользователя над выделенным элементом.
 

Используется для объектов:
IE 5.5: document

 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onSelectStart IE4+
onSelectStart="handlerText"  
 

Обработчик события возникает тогда, когда пользователь только начинает выделение содержимого на странице. Если пользователь выделяет несколько объектов, событие происходит для первого из них.

 

Используется для объектов:
IE4+: Все HTML-элементы, отображаемые на странице.

 

Пример:

function showObj() {
    var objID = event.srcElement.id
    status = "Selection started with object: " + objID
}

<BODY ID="myBody" onSelectStart="showObj()">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onStart IE4+
onStart="handlerText"  
 

Обработчик событий onStart запускается при инициализации процесса прокрутки элементом MARQUEE, но только после загрузки страницы. Метод Start() не приводит к запуску этого обработчика событий

 

Используется для объектов:
IE 4 : MARQUEE

 
 
 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onStop IE 5.5
onStop="handlerText"  
 

Обработчик события возникает тогда, когда пользователь щёлкает на кнопке Stop в броузере

 

Используется для объектов:
IE 5.5 : document

 

Пример:

var counter = 0
var timerID
function startCounter() {
    document.forms[0].display.value = ++counter
//clearTimeout(timerID)
    timerID = setTimeout("startCounter()", 10)
}
function haltCounter() {
    clearTimeout(timerID)
    counter = 0
}
document.onstop = haltCounter

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onSubmit JavaScript 1.0
onSubmit="handlerText"  
 

Выполняет код JavaScript, когда возникает событие submit; то есть, когда пользователь отправляет форму на сервер. Отправка формы по URL mailto: или news: требует привилегии UniversalSendMail. Можно использовать onSubmit для предотвращения отправки формы; для этого поместите оператор return, возвращающий false, в этот обработчик события. Любые другие значения разрешают отправку формы. При отсутствии оператора return форма будет отправлена.

 

Используется для объектов:
JavaScript 1.0: FORM

 

Пример:

<FORM onSubmit="return validate(this)">
...
</FORM>

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript

onUnload JavaScript 1.0
onUnload="handlerText"  
 

Выполняет код JavaScript, когда возникает unload; то есть, когда пользователь выходит из документа. Используйте onUnload с тэгами BODY или FRAMESET, например, <BODY onUnload="...">.

Относительно фрэймов и набора фрэймов - обработчик onUnload фрэйма (помещённый в тэг BODY) появляется до появления обработчика onUnload набора фрэймов (помещённого в тэг FRAMESET).

 

Используется для объектов:
JavaScript 1.0: window
JavaScript 1.3: frame, frameset

 

Пример:

<BODY onUnload="cleanUp()">

 
Параметры
handlerText Код JavaScript или вызов функции JavaScript


HIVE: All information for read only. Please respect copyright!
Hosted by hive КГБ: Киевская городская библиотека