Как писать скрипты
Привязка сценариев к элементам страницы
Внутри тэга <SCRIPT> размещается собственно программа сценария. Эта программа может делать все, что угодно ее автору. Однако обычно она содержит описания функций, которые должны вызываться при возникновении таких событий, как щелчок кнопкой мыши, нажатие клавиши на клавиатуре, загрузка страницы и др. Такие функции называются обработчиками событий. Чтобы вызов функций сценария произошел при возникновении того или иного события, нужно сделать привязку события и соответствующей ему функции к элементу страницы.
Связь между событием и функцией осуществляется в формате:
событие
=
"функция"
Например, если мы хотим связать событие "щелчок кнопкой мыши" с определенной нами функцией MyfuncQ, то должны использовать запись вида:
onclick
=
"Myfunc()"
Если вызов этой функции должен произойти при загрузке страницы в браузер, то следует записать:
onload
=
IMyfunc();
Мы рассмотрели связь типа "событие – функция". Однако одно и то же событие может восприниматься различными элементами страницы. Например, на щелчок кнопкой мыши могут отреагировать и кнопка, и картинка, и заголовок. Чтобы образовать связь "событие – функция – элемент", следует вставить запись типа событие='функция' в тэг элемента страницы подобно вставке атрибута. Например, если мы хотим, чтобы функция Myfunc() вызывалась при щелчке на тексте, находящемся внутри тэга <Н2>, то надо написать:
<
H2
onclick
=
'Myfunc()'
>
Некоторый текст
<
/
H2
>
Связь между событием и функцией может быть записана в большинстве тэгов, например в <BODY>, <IMG>, <DIV>, <INPUT> и др.
Возможен и другой, нестандартный способ связи "событие – функция – элемент". Он заключается в том, что в тэге элемента страницы указывается атрибут ID (идентификатор, выполняющий роль имени NAME этого элемента, предназначенный для доступа к нему из программы). Затем в сценарии определяется функция, имя которой формируется по правилу:
идентификатор_элемента.событие()
Например, если мы хотим, чтобы при щелчке мышью на тексте, заключенном внутри тэга <Н2>, выполнялась некоторая функция, то мы должны написать примерно следующее:
...
<
H2
ID
=
My
>
Некоторый текст
<
H2
>
...
<
SCRIPT
>
...
function
My.onclick()
...
<
/
SCRIPT
>
...
Обратите внимание на связь между значением атрибута ID в тэге <Н2> элемента страницы и именем функции, определенной внутри тэга сценария <SCRIPT>: значение ID и название события указываются в имени функции. В JScript эти составляющие имени пишутся через точку, а в VBScript – через символ подчеркивания. Приведенный выше фрагмент на языке VBScript выглядит так:
...
<
H2
ID
=
Му
>
Некоторый текст
<
H2
>
...
<
SCRIPT
LANGUAGE
=
"VBScript"
>
...
Sub My_onclick()
...
<
/
SCRIPT
>
Подробно связи событий с функциями, определенными в сценарии, а также привязка этих связей к элементам страницы рассмотрены ниже на конкретных примерах. А сейчас дадим общие рекомендации по созданию обработчиков событий.