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> поддерживает следующие атрибуты:

Атрибут Значение Описание
тип
  • onenterbackward
  • onenterforward
  • onpick
  • ontimer
Определяет тип произошедшего события.
класс данные класса Устанавливает имя класса для элемента.
Я бы 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>