使用focus()方法来获得焦点
一般窗口组件都有此方法,如
window
文本
密码
按钮
单选按钮
复选按钮
选择菜单
选择菜单的子表项
文本区域
相应的聚焦的事件是 onFocus
代码
<Script>
function checkPassword(testObject) {
if (testObjectvaluelength < 4) {
alert("密码长度不得小于四");
testObjectfocus();
testObjectselect();
}
}
</Script>
1首先在wxml的输入框里面添加 adjust-position=false
2监听focus事件,通过获取 edetailheight (即d出的软键盘的高度),
把input的输入框的 bottom=edetailheight 2 + 'rpx' ;还须把content
的内容高度减去键盘的高度(值须setData下)。
3监听失焦(blur)事件,在该方法里,把input输入框的bottom重置为0;
且内容高度为原本的内容高度即可(值须setData下)。
以上三步可完美解决
因为所有的可视控件需要一个渲染的时间,所以渲染完被刷没了
解决方式:(假设textfield的id是name)加个延迟时间就好!
ExtgetCmp('name')focus(false, 100);
或者
ExtgetCmp('name')focusdefer(100, ExtgetCmp('name'));
如果是extjs的field , 都有 blur , focus 的事件var field = Extcreate("ExtformfieldText" , {
listeners:{
blur: function(){
//失去焦点事件
} ,
focus: function(){
//获取焦点
}
}
});
//如果是通过extjs *** 作当前页面中的input
//这是Input
//<input type='text' id="a">
var el = Extget("a");
aon({
blur: function(){
//失去焦点事件
} ,
focus: function(){
//获取焦点
}
});
其实不管用哪种方法,其原理都是跟body onload()大同小异的,而其中body onload()才是最简便快捷的方式:
<body onload="documentgetElementById("baidubox")focus();">
或者把onload单独脱离出来:
<script>
windowonload = function() {documentgetElementById("baidubox")focus();}
</script>
以上就是关于关于组件如何获得焦点问题全部的内容,包括:关于组件如何获得焦点问题、底部输入框获取焦点上推页面、如何在Ext.Window显示后,其中里面的某一个文本框自动获得焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)