WML - События
Событие на обычном языке можно определить как что-то произошло. В программировании eventидентично по смыслу, но с одним важным отличием. Когда что-то происходит в компьютерной системе, сама система должна(1) обнаружить, что что-то произошло и (2) знаю, что с этим делать.
Язык WML также поддерживает события, и вы можете указать действие, которое должно выполняться при возникновении события. Это действие может быть в терминах WMLScript или просто в терминах WML.
WML поддерживает следующие четыре типа событий:
onenterbackward : это событие происходит, когда пользователь нажимает на карту обычными средствами обратной навигации. То есть пользователь нажимает кнопку «Назад» на более поздней карте и возвращается к этой карте в стеке истории.
onenterforward : это событие происходит, когда пользователь нажимает на карту обычными средствами прямой навигации.
onpick : это больше похоже на атрибут, но используется как событие. Это событие происходит, когда элемент списка выбора выбран или отменен.
ontimer : это событие используется для запуска события по истечении заданного периода времени.
Эти имена событий чувствительны к регистру и должны быть строчными.
Элемент WML <onevent>:
Теги <onevent> ... </onevent> используются для создания обработчиков событий. Его использование имеет следующий вид:
<onevent type="event_type">
A task to be performed.
</onevent>
Вы можете использовать задачи go, prev или refresh внутри тегов <onevent> ... </onevent> для события.
Элемент <onevent> поддерживает следующие атрибуты:
Атрибут | Значение | Описание |
---|---|---|
тип |
|
Определяет тип произошедшего события. |
класс | данные класса | Устанавливает имя класса для элемента. |
Я бы | ID элемента | Уникальный идентификатор элемента. |
Ниже приведен пример использования элемента <onevent>. В этом примере всякий раз, когда вы пытаетесь вернуться со второй карты к первой, тогдаonenterbackwardпроисходит переход к карте номер три. Скопируйте и вставьте эту программу и попробуйте поиграть с ней.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<onevent type="onenterbackward">
<go href="#card3"/>
</onevent>
<card id="card1" title="Card 1">
<p>
<anchor>
<go href="#card2"/>
Go to card 2
</anchor>
</p>
</card>
<card id="card2" title="Card 2">
<p>
<anchor>
<prev/>
Going backwards
</anchor>
</p>
</card>
<card id="card3" title="Card 3">
<p>
Hello World!
</p>
</card>
</wml>