我正在使用一个表单来获取名称和描述。当用户尝试更新详细信息时,我会显示验证消息,显示"名称已存在"。我正在使用以下代码来显示消息:
$('#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
}
});
希望这能帮助