WML学习之六 事件

事件

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>

<head>

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

</head>

<card id="card0" ordered="false">

<do type="accept" label="InputName" name="do1">

<go href="#card01"/>

</do>

<p>

NAME:<input name="userName" title="User Name" type="text" format="*M" emptyok="false" maxlength="12"/>

</p>

</card>

<card id="card01">

<p>

You name is $(userName:noesc).

</p>

</card>

</wml>

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

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

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

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

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

   ontimer     当<timer>过期时。

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>

<head>

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

</head>

<card id="card0" ordered="false">

<p>

Please select a city...

<select title="Cities List" name="city">

<option title="Beijing" value="Beijing">

<onevent type="onpick">

<go href="#card01"/>

</onevent>Beijing</option>

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

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

</select>

& lt;/p>

</card>

<card id="card01">

<p>

You are Living in $(city:noesc)

</p>

</card>

</wml>

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

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>

<head>

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

</head>

<card id="card1" ontimer="#card2">

<timer name="time1" value="50"/>

<p align="center">

After 5s, goto card2

</p>

</card>

<card id="card2">

<onevent type="ontimer">

<go href="#card1"/>

</onevent>

<timer name="time2" value="50"/>

<p align="center">

Here is card2!

</p>

</card>

</wml>

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

   此外在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>

<head>

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

</head>

<template>

<do type="accept" label="deckPress" name="do1">

<go href="#card01"/>

</do>

</template>

<card id="card0" ordered="false">

<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>

(0)

相关推荐

  • WML学习之六 事件

    事件 WML的事件基本上分为两大类,一类是键盘(包括软硬按钮)输入事件,用<do>标签来处理,另一类是相关页面内部的事件,用<onevent>标签来处理.  <do>的语法如下:<do type="type" label="label" name="name" optional="false|true">任务</do>,任务就是以前提到的四种任务.<do>

  • dubbo新手学习之事件通知实践教程

    前言 今天主要给大家分享一下dubbo的事件通知机制. 先看下dubbo中文官网的示例解释:事件通知. 在调用之前.调用之后.出现异常时,会触发 oninvoke.onreturn.onthrow 三个事件,可以配置当事件发生时,通知哪个类的哪个方法. 实践 溪源目的是快速学习dubbo的相关机制,故定义的相同的接口和方法,采用分包的方式解耦合,便于后期维护. 先看服务接口 dubbo-demo-interface 目录如图 ** UserNotifyService ** /** * @auth

  • WML学习之五 显示表单

    显示表单 类似于HTML的<FORM>,<fieldset>可用来包括一组表单选项,但不是必须的.前面说过,当<card>的ordered设置为false时,手机可以显示一个概要CARD来总结有效的选项,方便用户从中选取表单选项来填写,概要CARD就是根据<fieldset>和独立的输入框<input>以及选单<select>来总结的.语法为, <fieldset title="label">表单内容&

  • WML学习之四 锚和任务

    锚和任务 连接是 HTML 页面里最基本的功能, 在 WML 里也一样用 <a href="url" title="label"> 和 </a>来包括用来建立连接的文字,必选属性href指定了要打开的URL,可选的title属性给该连接取个标记名字,这个名字将作为软按钮之一的ACCEPT键(详见以前的HDML入门文章)的标记显示在屏幕的软按钮区,所以通常可以将属性作为提示文字是用. 然而,以上的连接在WML里只是任务的一种情况,为了能够使用其

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

    基本格式和文件头 wml文件的一般格式: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <head> <access/> <meta..../> </head> &l

  • node.js学习之事件模块Events的使用示例

    前言 本文主要给大家介绍了关于node.js事件模块Events使用的一些示例,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 环境:Node v8.2.1; Npm v5.3.0; OS Windows10 1. Node事件介绍 Node大多数核心 API 都采用惯用的异步事件驱动架构,其中某些类型的对象(触发器)会周期性地触发命名事件来调用函数对象(监听器). 所有能触发事件的对象都是 EventEmitter 类的实例. 这些对象开放了一个 eventEmitter.o

  • 学习JavaScript事件流和事件处理程序

    本文全篇介绍了JavaScript事件流和事件处理程序,分享给大家供大家参考,具体内容如下 一.事件流 事件流描述的是从页面中接收事件的顺序.IE的事件流是事件冒泡流,而Netscape Communicator的事件流是事件捕获流. 二.事件冒泡 即事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点.如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT

  • React学习之事件绑定的几种方法对比

    前言 本文主要给大家介绍了关于React事件绑定的几种方法对比的相关呢荣,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. React事件绑定 由于类的方法默认不会绑定this,因此在调用的时候如果忘记绑定,this的值将会是undefined. 通常如果不是直接调用,应该为方法绑定this.绑定方式有以下几种: 1. 在构造函数中使用bind绑定this class Button extends React.Component { constructor(props) { su

  • WML学习之七 CGI编程

    CGI编程 1)在WEB服务器上添加WML的MIME类型  对于IIS4,可在其管理器里的站点属性中加入新的MIME类型,后缀.wml和 MIME类型text/vnd.wap.wml.  对于PWS,可修改注册表,先在 HKEY_CLASSES_ROOT层加入主键.wml,再加入串值Content Type为text/vnd.wap.wml,然后在HKEY_LOCAL_MACHINE\Software\CLASSES\MIME\Database\Content Type\中加入主键text/vn

  • WML学习之三 显示文本

    显示文本 在文本的显示上WML基本和HTML相同.文字段落包含在<p align= "alignment" mode=" wrapmode">和</p>之间,align属性指定该段文字的对齐方式,默认的是left,其他可选择right和center:mode属性指定当一行显示不下所有的文字时是否自动换行,默认的是自动换行wrap,如果选nowrap,则在一行中显示,浏览器会通过类似于水平滚动条的机制来显示所有文字.  换行标签也一样为<

随机推荐