Обработка событий
VBScript - событийно-ориентированный язык. Некоторые события, перечисленные в табл. 3, работают со многими элементами управления. Существует несколько методов определения того, что должно происходить в сценарии при возникновении события. Можно определить событие как параметр тега для объекта на странице. Значением этого атрибута должно быть имя процедуры, которую нужно заранее определить внутри тега . Если надо использовать определенную процедуру, то параметр LANGUAGE тега <SCRIPT> (см. табл. 4) должен быть включен в этот тэг как дополнительный атрибут.
Таблица 3.
Некоторые события разных объектов в VBScript.
Событие |
Назначение |
OnClick |
Пользователь щелкнул мышкой на элементе управления |
MouseOver |
Пользователь помещает курсор мыши над объектом |
DblClick |
Пользователь дважды щелкнул мышкой на соответствующем объекте |
OnLoad |
Происходит при загрузке документа или другого элемента управления |
Таблица 4.
Дополнительные атрибуты тега <SCRIPT>.
Атрибут |
Назначение |
EVENT |
Декларирует событие (для объекта или элемента управления, определенного с помощью FOR), используемое для вызова кода, вставленного между парой тэгов <SCRIPT> |
FOR |
Определяет, для какого объекта или элемента управления на странице должен использоваться скрипт, если происходит событие, указанное в атрибуте EVENT |
LANGUAGE |
Назначает используемый скриптовый язык. Значением может быть либо "VBScript" для VBScript, либо "JavaScript" для JavaScript |
EventName |
Псевдоним события. Любое событие для определенного элемента управления может использоваться как атрибут одного из четырех тегов: <BODY>, <INPUT>, <OBJECT> и <A>. Значением для этого события всегда является процедура (и в VBScript, и в JavaScript). Некоторые названия событий, которые могут использоваться как атрибуты, перечислены в табл. 3. Этот метод не может работать с некоторыми элементами ActiveX |
Типовая схема описания обработчика события следующая: <...EventName="method" LANGUAGE="VBScript"...>, где EventName - любое правильное событие для соответствующего объекта, а method - это имя процедуры, которая вызывается при возникновении какого-то определенного события. Используя атрибуты, описанные в табл. 4, вы можете определить в теге <SCRIPT>, какое произошло событие и для какого объекта должен использоваться следующий код, что необходимо сделать, если в программе несколько процедур. Это выглядит примерно так:
<SCRIPT LANGUAGE="VBSCRIPT" FOR="ObjectName"
EVENT="EventName">
...
</SCRIPT>
FOR определяет имя элемента управления или объекта, для которого используется последующий код; EVENT задает событие, при возникновении которого следующий код будет вызван.
Определение обработчика события через процедуру - самый простой способ выполнения некоторого кода, когда обрабатываемое событие имело место. Этот метод использует процедуру с таким же именем, как у элемента управления, который вы предполагаете использовать, плюс подчеркивание между именами объекта и события:
<SCRIPT LANGUAGE="VBScript">
...
sub ObjectName_ObjectEvent
...
end sub
...
</SCRIPT>
Следующий фрагмент исходного текста иллюстрирует оба рассмотренных метода. Обработчики события определяются как атрибуты, а также используются как процедуры внутри кода:
...
<INPUT TYPE="button" value="click ME to change"
onclick="changes" Language="VBScript"></CENTER>
<SCRIPT>
sub changes
MyLabel.Caption="See. . . I TOLD YOU!"
MyLabel.ForeColor = "6316128"
MyLabel.BackColor = "167111680"
MyLabel.FontName = "Arial"
end sub
...
...
sub MyLabel_Click
MyLabel.Caption="Watch me change!"
MyLabel.ForeColor = "65280"
MyLabel.BackColor = "14527197"
MyLabel.FontName = "Times"
end sub
...
[ ВЕРНУТЬСЯ К ОГЛАВЛЕНИЮ ]
|