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

使用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邮箱的登录界面来测试,验证了我的想法,在用户名、密码和登录按钮以外的地方按回车是不会响应该事件的

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

 

(也可能是别的更好的方法,但是我没有找到,如果有更直接、更好的方法麻烦您通知我)

你可能感兴趣的:(function,浏览器,测试,IE,ExtJs,button)