Внутренние события
Примечание. Сообщаем авторам документов HTML, что в области внутренних событий (например, в привязке скриптов к событиям) весьма вероятны изменения. Работа в этой области ведется членами рабочей группы по объектной модели документов W3C (W3C Document Object Model Working Group) (более подробную информацию можно найти на Web-сайте W3C по адресу ).
Определения атрибутов
onload
=
Событие onload происходит, когда агент пользователя заканчивает загружать окно или все фреймы элемента . Этот атрибут может использоваться в элементах и .
onunload
=
Событие onunload происходит, когда агент пользователя удаляет документиз окна или фрейма. Этот атрибут может использоваться в элементах и .
onclick
=
Событие onclick происходит при однократном щелчке кнопки указующего устройства на элементе. Этот атрибут может использоваться с большинством элементов.
ondblclick
=
Событие ondblclick происходит при двойном щелчке клавиши указующего устройства на элементе. Этот атрибут может использоваться с большинством элементов.
onmousedown
=
Событие onmousedown происходит при нажатии кнопки указующего устройства на элементе. Этот атрибут может использоваться с большинством элементов.
onmouseup
=
Событие onmouseup происходит при отпускании кнопки указующего устройства на элементе. Этот атрибут может использоваться с большинством элементов.
onmouseover
=
Событие onmouseover происходит при перемещении указующего устройства на элемент. Этот атрибут может использоваться с большинством элементов.
onmousemove
=
Событие onmousemove происходит при перемещении указующего устройства, когда оно находится на элементе. Этот атрибут может использоваться с большинством элементов.
onmouseout
=
Событие onmouseout происходит при перемещении указующего устройства за пределы элемента. Этот атрибут может использоваться с большинством элементов.
onfocus
=
Событие onfocus происходит при получении элементом фокуса с помощью указующего устройства или последовательности перехода. Этот атрибут может использоваться со следующими элементами: , , SELECT, и .
onblur
=
Событие onblur происходит при переходе фокуса с этого элемента с помощью указующего устройства или последовательности перехода. Оно может использоваться с теми же элементами, что и onfocus.
onkeypress
=
Событие onkeypress происходит при нажатии и отпускании клавиши на элементе. Этот атрибут может использоваться с большинством элементов.
onkeydown
=
Событие onkeydown происходит при нажатии клавиши на элементе. Этот атрибут может использоваться с большинством элементов.
onkeyup
=
Событие onkeyup происходит при отпускании клавиши на элементе. Этот атрибут может использоваться с большинством элементов.
onsubmit
=
Событие onsubmit происходит при отправке формы. Оно используется только в элементе .
onreset
=
Событие onreset происходит при сбросе формы. Оно используется только в элементе .
onselect
=
Событие onselect происходит при выделении пользователем некоторого текста в текстовом поле. Этот атрибут может использоваться с элементами и .
onchange
=
Событие onchange происходит при потере управляющим элементом фокуса ввода, если его значение было изменено с момента получения фокуса. Этот атрибут используется со следующими элементами: , и .
Действие можно связать с определенным рядом событий, происходящих при взаимодействии пользователя с агентом. Значением каждого из перечисленных выше "внутренних событий" является скрипт. Этот скрипт выполняется, если это событие происходит для этого элемента. зависит от языка скрипта.
Элементы управления, такие как , , , и реагируют на внутренние события. Если они не отображаются в форме, они могут использоваться для улучшения графического интерфейса доумента.
Например, авторы могут включить в документы кнопки, которые не используются для отправки формы, но при нажатии которых происходит некоторое взаимодействие с сервером.
В следующем примере показан возможное поведение управляющего элемента и интерфейса пользователя в зависимости то внутренних событий.
В этом примере userName является обязательным текстовым полем. Если пользователь не заполняет это поле, событие onblur вызывает функцию JavaScript для проверки значения поля userName.
<INPUT NAME="userName" onblur="validUserName(this.value)">
Вот еще один пример JavaScript:
<INPUT NAME="num" onchange="if (!checkNum(this.value, 1, 10)) {this.focus();this.select();} else {thanks()}" VALUE="0">
Вот пример обработчика событий для текстового поля на языке VBScript:
<INPUT name="edit1" size="50"> <SCRIPT type="text/vbscript"> Sub edit1_changed() If edit1.value = "abc" Then button1.enabled = True Else button1.enabled = False End If End Sub </SCRIPT>
Вот тот же пример с использованием Tcl:
<INPUT name="edit1" size="50"> <SCRIPT type="text/tcl"> proc edit1_changed {} { if {[edit value] == abc} { button1 enable 1 } else { button1 enable 0 } } edit1 onChange edit1_changed </SCRIPT>
Вот пример привязки события внутри скрипта на языке JavaScript. Для начала простой обработчик щелчка мыши:
<BUTTON type="button" name="mybutton" value="10"> <SCRIPT type="text/javascript"> function my_onclick() { . . . } document.form.mybutton.onclick = my_onclick </SCRIPT> </BUTTON>
Вот более интересный обработчик окна:
<SCRIPT type="text/javascript"> function my_onload() { . . . }
var win = window.open("some/other/URI") if (win) win.onload = my_onload </SCRIPT>
На языке Tcl это выглядит следующим образом:
<SCRIPT type="text/tcl"> proc my_onload {} { . . . } set win [window open "some/other/URI"] if {$win != ""} { $win onload my_onload } </SCRIPT>
Обратите внимание, что выражение "document.write" или эквивалентные выражения в обработчиках внутренних событий создают и выполняют запись в новый документ, а не изменяют текущий.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий