WML - 事件
事件在普通语言中可以定义为发生了某事。 在编程中,事件的含义相同,但有一个主要区别。 当计算机系统中发生某些情况时,系统本身必须(1)检测到发生了某些情况,并且(2)知道如何处理。
WML 语言还支持事件,您可以指定事件发生时要采取的操作。 此操作可以按照 WMLScript 进行,也可以简单地按照 WML 进行。
WML 支持以下四种事件类型:
onenterbackward:当用户通过正常的向后导航方式点击卡片时,会发生此事件。 也就是说,用户在后面的卡片上按后退键,然后返回到历史堆栈中的这张卡片。
onenterforward:当用户通过正常的向前导航方式点击卡片时,会发生此事件。
onpick:这更像是一个属性,但它的使用方式就像一个事件。 当选择或取消选择选择列表中的一项时,会发生此事件。
ontimer:此事件用于在给定时间段后触发事件。
这些事件名称区分大小写,并且必须为小写。
WML <onevent> 元素:
<onevent>...</onevent> 标签用于创建事件处理程序。 其用法采用以下形式:
<onevent type="event_type"> A task to be performed. </onevent>
Y您可以在<onevent>...</onevent>标签内针对事件使用 go、prev 或 refresh 任务。
<onevent> 元素支持以下属性:
属性 | 值 | 描述 |
---|---|---|
type |
| 定义发生的事件类型。 |
class | class data | 设置元素的类名。 |
id | element ID | 元素的唯一 ID。 |
以下是显示<onevent>元素用法的示例。 在此示例中,每当您尝试从第2号卡返回到第1号卡时,就会发生onenterbackward,这会将您移至第3号卡。 复制并粘贴该程序并尝试使用它。
<?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>