手机
当前位置:查字典教程网 >编程开发 >XML/RSS >WML学习之六 事件
WML学习之六 事件
摘要:事件WML的事件基本上分为两大类,一类是键盘(包括软硬按钮)输入事件,用标签来处理,另一类是相关页面内部的事件,用标签来处理。的语法如下:任...

事件

WML的事件基本上分为两大类,一类是键盘(包括软硬按钮)输入事件,用<do>标签来处理,另一类是相关页面内部的事件,用<onevent>标签来处理。

<do>的语法如下:<dotype="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

---------------

<?xmlversion="1.0"?>

<!DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<head>

<metahttp-equiv="Cache-Control"content="max-age=0"/>

</head>

<cardid="card0"ordered="false">

<dotype="accept"label="InputName"name="do1">

<gohref="#card01"/>

</do>

<p>

NAME:<inputname="userName"title="UserName"type="text"format="*M"emptyok="false"maxlength="12"/>

</p>

</card>

<cardid="card01">

<p>

Younameis$(userName:noesc).

</p>

</card>

</wml>

<onevent>的语法如下,<oneventtype="type">任务</onevent>,必选属性type的取值如下:

type值如果用户执行了以下操作就执行任务

onpick用户选择或不选一个<option>项时。

onenterforward用户使用<go>任务到达一个CARD时。

onenterbackward用户使用<prev>任务返回到前面的CARD时,或者按BACK按钮时。

ontimer当<timer>过期时。

test7.wml

---------------

<?xmlversion="1.0"?>

<!DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<head>

<metahttp-equiv="Cache-Control"content="max-age=0"/>

</head>

<cardid="card0"ordered="false">

<p>

Pleaseselectacity...

<selecttitle="CitiesList"name="city">

<optiontitle="Beijing"value="Beijing">

<oneventtype="onpick">

<gohref="#card01"/>

</onevent>Beijing</option>

<optiontitle="Shanghai"value="Shanghai"onpick="#card01">Shanghai</option>

<optiontitle="Hongkong"value="Hongkong"onpick="#card01">Hongkong</option>

</select>

</p>

</card>

<cardid="card01">

<p>

YouareLivingin$(city:noesc)

</p>

</card>

</wml>

<timer/>可以用来在用户不进行任何操作的一段时间后,自动执行一个任务,任何激活CARD页面的任务和用户操作都会启动<timer/>,而任务进行时,<timer/>就停止。每个CARD只能有一个<timer/>,一个<timer/>只能触发一个任务。语法如下:<timername="variable"value="value"/>,其中name为可选属性,指定为一个变量名,当退出该CARD时,该变量存储此时定时器的值,当定时器超时时,手机将该变量设为0;value为必选属性,用来设置定时器的定时值,最小单位为0.1秒。

test8.wml

---------------

<?xmlversion="1.0"?>

<!DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<head>

<metahttp-equiv="Cache-Control"content="max-age=0"/>

</head>

<cardid="card1"ontimer="#card2">

<timername="time1"value="50"/>

<palign="center">

After5s,gotocard2

</p>

</card>

<cardid="card2">

<oneventtype="ontimer">

<gohref="#card1"/>

</onevent>

<timername="time2"value="50"/>

<palign="center">

Hereiscard2!

</p>

</card>

</wml>

再提一下,<onevent><timer><do>三者必须按以上顺序写。

此外在DECK级还可以加入<template>,用来将事件捆绑在DECK级上,语法如下:

<templateonenterforward="url"onenterbackward="url"ontimer="url">

<do>或者<onevent>

</template>

test9.wml

---------------

<?xmlversion="1.0"?>

<!DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<head>

<metahttp-equiv="Cache-Control"content="max-age=0"/>

</head>

<template>

<dotype="accept"label="deckPress"name="do1">

<gohref="#card01"/>

</do>

</template>

<cardid="card0"ordered="false">

<dotype="accept"label="cardPress"name="do1">

<gohref="#card02"/>

</do>

<p>

PressACCEPT...

</p>

</card>

<cardid="card01">

<p>

Hereiscard01

</p>

</card>

<cardid="card02">

<p>

Hereiscard02

</p>

</card>

</wml>

【WML学习之六 事件】相关文章:

XML轻松学习手册(六):XML相关资源

XML 轻松学习手册(比较不错)第1/3页

轻松学习XML教程

XML轻松学习手册(5)XML实例解析

XMLHTTP资料

XML轻松学习手册(五):XML语法

WML的简单例子及编辑、测试方法第1/2页

XSLT轻松入门第三章:XSLT的元素语法

XML轻松学习手册(1)XML快速入门

WML学习之二基本格式和文件头

精品推荐
分类导航