|
Обработка событий
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
...
|