Visual Basic + HTML = VBScript

       

Обработка событий


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 ...


Содержание раздела