Документация по VBScript
Обработка событий
VBScript - событийно-ориентированный язык. Некоторые события, перечисленные в табл. 3, работают со многими элементами управления. Существует несколько методов определения того, что должно происходить в сценарии при возникновении события. Можно определить событие как параметр тега для объекта на странице. Значением этого атрибута должно быть имя процедуры, которую нужно заранее определить внутри тега
. Если надо использовать определенную процедуру, то параметр LANGUAGE тега <SCRIPT> (см. табл. 4) должен быть включен в этот тэг как дополнительный атрибут.Таблица 3.
Событие |
Назначение |
OnClick |
Пользователь щелкнул мышкой на элементе управления |
MouseOver |
Пользователь помещает курсор мыши над объектом |
DblClick |
Пользователь дважды щелкнул мышкой на соответствующем объекте |
OnLoad |
Происходит при загрузке документа или другого элемента управления |
Таблица 4.
Атрибут |
Назначение |
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 ...