ee66c297

Событие blur может быть результатом


Событие blur может быть результатом вызова метода window.blur, или щелчка пользователя мышью на другом объекте или окне или перехода с помощью клавиш табуляции на клавиатуре.
Для окон, фрэймов и наборов фрэймов onBlur специфицирует код JavaScript, выполняемый при потере окном фокуса.
Обработчик onBlur фрэйма переопределяет обработчик onBlur тэга BODY документа, загруженного во фрэйм.
ПРИМЕЧАНИЕ: В JavaScript 1.1 на некоторых платформах - помещение обработчика onBlur в тэг FRAMESET не даёт никакого эффекта.


Используйте onChange для проверки данных после их изменения пользователем.


Для переключателей/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 -- значения формы не восстанавливаются.
ПРИМЕЧАНИЕ: В JavaScript 1.1 на некоторых платформах возвращение false обработчиком onClick для кнопок reset не даёт эффекта.




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


Событие error возникает только тогда, когда возникает ошибка синтаксиса JavaScript или ошибка времени выполнения, а не при появлении ошибки браузера. Например, если Вы попытаетесь установить window.location.href='notThere.htm', а файл notThere.htm не существует, результирующим сообщением об ошибке будет сообщение браузера; следовательно, 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).



Событие focus может быть результатом работы метода focus, или щелчка мышью по объекту или окну, или при переходе с помощью клавиш табуляции. Выделение в поле даст событие select, а не событие focus. onFocus выполняет код JavaScript при возникновении события focus.
Обработчик onFocus фрэйма переопределяет обработчик onFocus тэга BODY документа, загруженного в этот фрэйм.
Обратите внимание, что помещение диалога alert в обработчик onFocus приводит к рекурсии диалогов alert: если Вы нажимаете OK для выключения alert, окно получает фокус снова и производит новое событие focus.
ПРИМЕЧАНИЕ: В JavaScript 1.1 на некоторых платформах размещение обработчика onFocus в тэге FRAMESET не даст эффекта.


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


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


Используйте обработчик 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. См. Image.


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


Событие MouseMove высылается только тогда, когда захват события запрашивается объектом. О событиях см. книгу Клиентский JavaScript. Руководство.


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


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


Если onMouseUp возвращает false, акция по умолчанию отменяется. Например, если onMouseUp возвращает false при активной гиперссылке, ссылка не включается. Итак, если MouseUp возникает при неактивной гиперссылке (возможно, в том случае, когда onMouseDown возвращает false), ссылка не включается.
ПРИМЕЧАНИЕ: Активизация вызывается событием MouseDown на ссылке. Если ссылка активна, она изменяет свой цвет для отражения нового состояния.


Этот обработчик высылается после завершения отображения HTML с новыми размерами внутреннего окна. Это позволяет позиционировать элементы и именованные якоря так, чтобы они имели свои запрашиваемые окончательные размеры и местоположение, свойства SRC изображений могли восстанавливаться динамически и т.д.


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


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

Содержание раздела