使用按键事件识别回车键时未显示验证消息



我正在使用一个表单来获取名称和描述。当用户尝试更新详细信息时,我会显示验证消息,显示"名称已存在"。我正在使用以下代码来显示消息:

$('#name').bind("keypress", function(e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        updateName();
        return false;
    }
});

'函数updateName(){$.ajax({类型:"POST",url:"/Name/Name",data:postData,async:false,成功:函数(数据){if(data.NameExists){$("#name").html("名称已存在");

}'

当我按下回车键时,会显示验证消息,当我释放回车键时消息消失。我也尝试过keydown活动。但它不起作用。

任何人都可以用你的经验来帮助我。谢谢

你能试一下吗:-

$('#name').bind("keyup", function(e) {
    if (e.keyCode == 13) {
        updateName();
        e.preventDefault();
        return false;
    }
});

标记假设:<input type="text" id="name" />

$('#name').on("keyup", function(e) {
    if (e.which == 13) {
        e.preventDefault();
        updateName();
    }
});
  • 如果按住"keypress",则会多次触发事件
  • 释放时使用"keyup"进行发射
  • 使用e.which作为jQuery将键值规范化为这个值

如果您阻止默认,则无需返回false-您是否也希望阻止传播?

如果用户退出怎么办?

尝试使用此结构。。。

$(document).keypress(function(e) {
  if(e.which == 13) {
    // enter pressed
  }
});

$(document).on('keypress', function(e){
    if (e.which == 13) {
        e.preventDefault();
        //Do stuff
    }
});

希望这能帮助

最新更新