2 zhfenvsjj zhfenvsjj 于 2015.07.07 14:32 提问

用户登陆按Enter提交时,keydown事件覆盖了$.messager.alert()弹出框

在用户登陆界面中,在页面初始化时,添加键盘事件:
$(function() {
$(document).keydown(function(e){
if(e.keyCode == 13){
login();
}
});

});
function login(){
$.ajax();发送请求在回调函数中调用easyui提供的 $.messager.alert('登录提示', '用户名不存在!', 'info');
}
问题:
当用户输入用户名密码后,按 Enter键后弹出alert提示框,
再按一次Enter,又执行了一次Keydown事件,alert弹出框被覆盖.
请问,怎样让弹出框获得焦点?在弹出alert框后,按Enter键关闭alert框,而不是重复执行Keydown事件

2个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.07 14:39
定义一个flag='1';
$(document).keydown(function(e){ 
if(flag&&e.keyCode == 13){ 
  flag = '';


 $.messager.alert("操作提示", "操作成功!", "info", function () {
            flag = '1';
        });
diaoliwei2
diaoliwei2   Rxr 2015.07.07 15:09

focus()函数不就获得焦点吗

Csdn user default icon
上传中...
上传图片
插入图片