Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。Event对象包含一个keyCode属性,对于 keypress 事件,该属性声明了被敲击的键生成的 Unicode 字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使用的键盘的布局相关。
因此可以自定义keydown事件触发的方法,通过判断event对应的keyCode是Enter键对应的编码时来触发登录方法,以此来实现enter键快捷登录的功能。
首先在需要定义enter快捷功能的输入框中定义onkeydown方法:
<input name="validateCode" id="validateCode" maxlength="4" onkeydown="suball()" />
这样当焦点在validateCode框中时,如果按下键盘键就会触发suball()方法,然后定义suball()方法:
function suball(){
if(event.keyCode==13){
doLogin();
}
}
根据ASCII码表13代表回车键:
因此判断出来按键是13时就触发登录方法。
兼容Chrome和Firefox快捷键,修改suball()方法,改为:
onkeydown="suball(event)";
function suball(event){
//兼容Chrome和Firefox
event=(event)?event:((window.event)?window.event:"");
var keyCode=event.keyCode?event.keyCode:(event.which?event.which:event.charCode);
if(keyCode==13){
doLogin();
}
}