WML的事件基本上分为两大类,一类是键盘(包括软硬按钮)输入事件,用<do>标签来处理,另一类是相关页面内部的事件,用<onevent>标签来处理。
  <do>的语法如下:<do type="type" label="label" name="name" optional="false|true">任务</do>,任务就是以前提到的四种任务。<do>的属性中,type是必选的,其他为可选。
  *label属性,指定了软按钮在屏幕上的显示文本。目前type属性为delete,help,prev时该属性无效。 
  *name属性,为<do>取个名字,同一的CARD里的<do>不能重名。如果CARD级的<do>和DECK级的<do>同名,则覆盖DECK级的<do>。
  *optional属性,指定手机是不是可以忽略这个事件,默认值是false。
  *type属性,指定触发的事件,具体如下;
  type值    触发原因
  accept    调用ACCEPT按钮机制
  delete    调用DELETE按钮机制
  help     调用HELP按钮机制
  options   调用选择按钮机制
  prev     调用PREV按钮机制
  reset    调用清除和重新设定手机状态时的RESET机制(目前不支持)
  unknown    调用unknown机制,等于type=""(目前不支持)
  vnd. co-type 调用厂商特定的机制(目前不支持)  
  X-*, x-*   供以后使用(不保留)(目前不支持)  
test6.wml
| 以下为引用的内容: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> </p> </card> <card id="card01"> <p> You name is $(userName:noesc). </p> </card> </wml> | 
<onevent>的语法如下,<onevent type="type">任务</onevent>,必选属性type的取值如下:
test7.wml
| 以下为引用的内容: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> | 
test8.wml
| 以下为引用的内容: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> | 
  此外在DECK级还可以加入<template>,用来将事件捆绑在DECK级上,语法如下:
  <template onenterforward="url" onenterbackward="url" ontimer="url">
  <do>或者<onevent>
  </template> 
test9.wml
| 以下为引用的内容: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <do type="accept" label="cardPress" name="do1"> <go href="#card02"/> </do> <p> Press ACCEPT... </p> </card> <card id="card01"> <p> Here is card01 </p> </card> <card id="card02"> <p> Here is card02 </p> </card> </wml> |