3)问:为什么使用LzFocus.setFocus(elementobj)方法没有作用
答:首先要保证该方法确实被调用。其次elementobj对应的元素必须是能得到焦点的(常见默认能得到焦点的元素有inputtext,如果是view则需要在属性中加上focusable=’true’)。最后确定参数elementobj在js中是一个lzx元素对象的引用。通过
canvas.elementname.subelename…方式可以逐级引用到canvas各个设置了name属性的元素。也可以使用id方式直接引用,比如:
<?xml version="1.0" encoding="utf-8"?>
<canvas width="240" height="320">
<view name="v1">
<inputtext name="input1" id="myinput" width="100"/>
</view>
<handler name="oninit">
LzFocus.setFocus(canvas.v1.input1); //正确,通过name方式引用
LzFocus.setFocus(this.v1.input1); //正确,和上面等价,这里this等价canvas
LzFocus.setFocus(myinput); //正确,通过id方式引用
LzFocus.setFocus("canvas.v1.input1"); //错误,参数不应为string
LzFocus.setFocus("myinput"); //错误,参数不应为string
</handler>
</canvas>
注意:直接从本文档中copy源代码示例后如果不能正常编译或者应用不能正常打开,请先检查copy出来的xml代码是否存在中文标点问题(word转换问题),可以直接在IE中看该XML文件,如果IE能正确显示则说明无问题。



2)问:为什么按键盘的方向键,我应用中的焦点无法移动
答:应用的焦点可以分两种:1、对于能得到焦点的元素得到焦点时,系统自动画上焦点边框2、开发人员自行画的焦点边框或者焦点背景。对于第一种,必须使用LzFocus.setFocus(element)才能让焦点落到element所引用的元素上。对于第二种完全由开发人员画出焦点框或者使用图片背景之类。