目录
公共事件
| 事件名 | 说明 |
|---|---|
| onload | 页面被载入时调用 |
| onclick | 鼠标被单击时调用 |
| onfocus | 获得焦点时触发的事件 |
| onchange | 失去焦点时,且控件值发生变化,一般是用在input上 |
| ondestroy | 页面销毁的时候调用 |
| onpause | 进入后台时被调用 |
| onrestart | 页面重新启动的时候调用 |
| onresume | 进入activity时被调用 |
| onstart | 进入activity时调用,短时重新进入不调 |
| onstop | 长时间进入后台进被调用 |
| ontouch | 在触摸事件中,改变变量值,并重绘画面 |
| onintercepttouch | 开启触摸事件后,结束使用,与ontouch配对使用 |
| ondoubletap | 双击控件时触发的事件 |
| onlongclick | 长按控件时触发的事件 |
| onswipeup | 在控件上上滑时触发的事件 |
| onswipedown | 在控件上下滑时触发的事件 |
| onswipeleft | 在控件上左滑时触发的事件 |
| onswiperight | 在控件上右滑时触发的事件 |
| onkeydown | Window上新增onkeydown事件,监听回退键传参 |
参考实例
onclick事件
可以为支持点击事件的控件添加该事件,在点击该控件时触发。
用法
<input id="button1" value="按钮" onclick="btnclick()" type="button"/>
function btnclick(sender, args){$alert("点击了按钮");}
ondoubletap事件
可以为支持点击事件的控件添加该事件,在双击该控件时触发。
用法
<div id="panel0" ondoubletap="this.ondouble()"/>
function com$requirements$SignalController$ondouble(sender, args){$alert("双击变蓝色");$id("panel0").set("background", "#0080ff");}
onswipeup事件
在该控件上上滑时触发的事件。
用法
<div id="panel0" ondoubletap="this.onswipeup()"/>
function com$requirements$SignalController$onswipeup(sender, args){$alert("上滑变绿色");$id("panel0").set("background", "#00ff40");}
onswipedown事件
在该控件上下滑时触发。
用法
<div id="panel0" ondoubletap="this.onswipedown()"/>
function com$requirements$SignalController$onswipedown(sender, args){$alert("下滑变紫色");$id("panel0").set("background", "#8080ff");}
onswipleft事件
在该控件上左滑时触发。
用法
<div id="panel0" ondoubletap="this.onswipleft()"/>
function com$requirements$SignalController$onswipleft(sender, args){$alert("双击变黄色");$id("panel0").set("background", "#ffff00");}
onswipright事件
在该控件上右滑时触发。
用法
<div id="panel0" ondoubletap="this.onswipright()"/>
function com$requirements$SignalController$onswipright(sender, args){$alert("右滑变黑色");$id("panel0").set("background", "#000000");}
onlongclick事件
可以为支持长按事件的控件添加该事件,在长按该控件时触发。
用法
<input id="button1" onlongclick="btnlongclick()" value="按钮" type="button"/>
function btnlongclick(){$alert("长按按钮");}
onload事件
可以为div、listview、flipper、picker等控件添加onload事件,在加载该控件时触发。
例如
<listView id="listviewdefine0" bindfield="persons" onuprefersh="uprefersh()" linedelshow="true" ondownrefersh="downrefersh()" onload="listviewdefine0_onload()" onItemClick="rowclick()" onitemdelete="itemdelete()"><div id="panel1"><div id="panel2"><div id="panel3"><image id="image0" bindfield="icon" scaletype="fitcenter" src="lss.png"/><label id="label1" bindfield="name">name</label></div><div id="panel4"/></div></div></listView>
var i = 0;var len = 20;function listviewdefine0_onload(sender, args) {var json = {persons : []};for ( i = 0,len = 20; i < len; i++) {var person = {};person["id"] = "100" + i.toString();person["name"] = "联系人" + i.toString();person["icon"] = "lss.png";person["select"] = "false";json.persons.push(person);}$ctx.push(json);}
onitemclick事件
可以为listview添加该事件,当点击列表的每一行时触发。
例如
<listView id="listviewdefine0" bindfield="persons" onuprefersh="uprefersh()" linedelshow="true" ondownrefersh="downrefersh()" onload="listviewdefine0_onload()" onItemClick="rowclick()" onitemdelete="itemdelete()"><div id="panel1"><div id="panel2"><div id="panel3"><image id="image0" bindfield="icon" scaletype="fitcenter" src="lss.png"/><label id="label1" bindfield="name">name</label></div><div id="panel4"/></div></div></listView>
function rowclick(sender, args) {var data = $id("listviewdefine0").get("row");data = $stringToJSON(data);$alert("name:" + data.name);}
onitemdelete事件
可以为listview添加该事件,当右滑弹出删除按钮点击删除时触发。
例如
<listView id="listviewdefine0" bindfield="persons" onuprefersh="uprefersh()" linedelshow="true" ondownrefersh="downrefersh()" onload="listviewdefine0_onload()" onItemClick="rowclick()" onitemdelete="itemdelete()"><div id="panel1"><div id="panel2"><div id="panel3"><image id="image0" bindfield="icon" scaletype="fitcenter" src="lss.png"/><label id="label1" bindfield="name">name</label></div><div id="panel4"/></div></div></listView>
function itemdelete(sender, args) {var row = $id("listviewdefine0").get("row");delteRow($stringToJSON(row));}function delteRow(row) {var sourceR = $ctx.getJSONArray("persons");for (var i = 0; i < sourceR.length; i++) {var group = sourceR[i];if (group.id == row.id) {sourceR.splice(i, 1);break;}}var json = {};json["persons"] = sourceR;$ctx.push(json);}
ondownrefersh事件
可以为listview添加该事件,当上拉列表刷新数据时触发。
例如
<listView id="listviewdefine0" bindfield="persons" onuprefersh="uprefersh()" linedelshow="true" ondownrefersh="downrefersh()" onload="listviewdefine0_onload()" onItemClick="rowclick()" onitemdelete="itemdelete()"><div id="panel1"><div id="panel2"><div id="panel3"><image id="image0" bindfield="icon" scaletype="fitcenter" src="lss.png"/><label id="label1" bindfield="name">name</label></div><div id="panel4"/></div></div></listView>
function downrefersh(sender, args) {var json = {persons : []};for ( len = (len + 20); i < len; i++) {var person = {};person["id"] = "100" + i.toString();person["name"] = "联系人" + i.toString();person["icon"] = "lss.png";json.persons.push(person);}$ctx.push(json);}
onuprefersh事件
可以为listview添加该事件,当下拉列表刷新数据时触发。
例如
<listView id="listviewdefine0" bindfield="persons" onuprefersh="uprefersh()" linedelshow="true" ondownrefersh="downrefersh()" onload="listviewdefine0_onload()" onItemClick="rowclick()" onitemdelete="itemdelete()"><div id="panel1"><div id="panel2"><div id="panel3"><image id="image0" bindfield="icon" scaletype="fitcenter" src="lss.png"/><label id="label1" bindfield="name">name</label></div><div id="panel4"/></div></div></listView>
function uprefersh(sender, args) {if (i - 40 >= 0) {var json = {persons : []};for ( i = (i - 40),len = (len - 20); i >= 0 && i < len; i++) {var person = {};person["id"] = "100" + i.toString();person["name"] = "联系人" + i.toString();person["icon"] = "lss.png";person["select"] = "false";json.persons.push(person);}$ctx.push(json);}}
onnextflipper事件
可以为viewflipper控件添加该事件,当滑到下一页的时候触发。
用法
<flipper id="flipperdefine0" onnextflipper="next()" onpreviousflipper="previous()" viewindex="0"><div id="panel1" title="页面1"><div id="panel4"/></div><div id="panel2" title="页面2"><div id="panel5"/></div><div id="panel3" title="页面3"><div id="panel6"/></div></flipper>
function next(sender, args){//获取当前是flipper的第几页var i = $id("flipperdefine0").get("viewindex");}
onpreviousflipper事件
可以为viewflipper控件添加该事件,当滑到上一页的时候触发。
用法
<flipper id="flipperdefine0" onnextflipper="next()" onpreviousflipper="previous()" viewindex="0"><div id="panel1" title="页面1"><div id="panel4"/></div><div id="panel2" title="页面2"><div id="panel5"/></div><div id="panel3" title="页面3"><div id="panel6"/></div></flipper>
function previous(sender, args){//获取当前是flipper的第几页var i = $id("flipperdefine0").get("viewindex");}
onintercepttouch、ontouch事件
可以为控件添加该事件,当按下并拖动控件时触发,可以拆分为DOWN、MOVE、UP、CANCEl四个动作。
用法
<div id="panel0" onintercepttouch="onintertouch()"><label id="label1">任意拖动以下控件</label><div id="redpanel" ontouch="touch0()"/><div id="greenpanel" ontouch="touch1()"/><div id="bluepanel" ontouch="touch2()"/></div>
var w = -1;var ctl = "";var DOWN = 0;var UP = 1;var MOVE = 2;var CANCEL = 3;var isSelected = false;function onintertouch(sender, event) {if (isSelected == false || ctl == "") {return;}var x = event["x"];var y = event["y"];var what = event["what"];if (what == DOWN) {$id(ctl).set("opacity", "0.5");}if (what == MOVE) {if (w == -1) {w = $id(ctl).get("width") / 2;}$id(ctl).set("left", x - w + "px");$id(ctl).set("top", y - w + "px");}if (what == UP) {$id(ctl).set("opacity", "1");isSelected = false;}}function touch0(sender, event) {ctl = sender;isSelected = true;}function touch1(sender, event) {ctl = sender;isSelected = true;}function touch2(sender, event) {ctl = sender;isSelected = true;}
onsensorchanged事件
可以为window添加该事件,当传感器感知发生改变比如摇晃时触发
例如
<window xmlns:web="http://www.yonyou.com/uapmobile/dsl" id="AboutCamera" onSensorChanged="shake()" controller="AboutCameraController" namespace="test.yyuap.com"><import ref="AboutCamera.css" type="css"/><link type="text/css" href="sys/theme.css"/><div id="viewPage0"><image id="image0" scaletype="fitcenter" src="picture"/><label id="label1">提示 : 摇一摇打开相册</label></div></window>
function shake(sender, args) {$camera.openPhotoAlbum({bindfield : "image",callback : function() {var img = $ctx.getString("image");$id("image0").set("src", img);}})}
onkeydown事件
在window上增加onkeydown事件,可以在按back键时监听传参
例如
<window xmlns:web="http://www.yonyou.com/uapmobile/dsl" id="Backspace_key1" onkeydown="this.onkeydown()" controller="Backspace_key1Controller" namespace="com.requirements"><import ref="Backspace_key1.css" type="css"/><link type="text/css" href="sys/theme.css"/><input id="textbox0" bindfield="a" maxlength="256" placeholder="文本输入框" type="text"/><input id="textbox1" bindfield="b" maxlength="256" placeholder="文本输入框" type="text"/><input id="textbox2" bindfield="c" maxlength="256" placeholder="文本输入框" type="text"/><input id="button0" value="返回" onclick="this.button0_onclick()" type="button"/></div></window>
function com$requirements$Backspace_key1Controller$button0_onclick(sender, args) {$ctx.dataCollect();var json = $ctx.getJSONObject();$alert(json);$view.close({"resultCode" : "15","data" : json//当前页面关闭时,把页面的数据传上个页面})}//Onkeydown事件把返回逻辑拷贝过去即可function com$requirements$Backspace_key1Controller$onkeydown(sender, args) {$ctx.dataCollect();var json = $ctx.getJSONObject();$alert(json);$view.close({"resultCode" : "15","data" : json//当前页面关闭时,把页面的数据传上个页面})}
文档更新时间: 2018-05-08 13:42