您的位置:首页 > Web前端 > JavaScript

extjs 下 button 的 按键事件 回车事件

2010-11-23 10:02 169 查看
使用extjs已经有一段时间了,开始时做了个登录界面,输入用户名,密码 然后点击确定,登录


在extjs中,Button本身是支持回车事件的,前提是:焦点在按钮上,此时回车和单击事件是一回事

鉴于系统的友好性和人们 的习惯,输入两者后会按回车键登录系统

开始时想这个问题了,但是无从下手,因为我一直认为这个应该是在button上监听回车事件,就是输入用户名和密码后按回车键时应该是button来响应该事件。

查了extjs手册Button的事件中没有响应回车键的事件或者是specialkey事件

今天有时间回头想这个问题,其实我的真实想法是在按按钮前来响应回车事件,应该是form的field来响应回车事件

form中的field事件中有specilkey事件,可以响应回车键:

var siteName = new Ext.form.Field({
id: 'siteName1',//表单元素最好使用Id,不然在IE浏览器中表单内容将变形
fieldLabel: '网站名称',
listeners : {
specialkey : function(field, e) {
if (e.getKey() == Ext.EventObject.ENTER) {
alert("回车事件");
...
}
}
}
});


所以想到的是在输入用户名,或者密码后点击"回车",让field响应回车事件,然后form提交

添加事件后测试成功,

当然响应回车键是焦点在用户名或者密码的field 时,按回车才会响应。

回头在163邮箱的登录界面来测试,验证了我的想法,在用户名、密码和登录按钮以外的地方按回车是不会响应该事件的

只有在这三个地方按回车才会响应登录事件

(也可能是别的更好的方法,但是我没有找到,如果有更直接、更好的方法麻烦您通知我)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: