Javascript Can';使用e.preventDefault()时,在输入框中键入t;
当用户在html输入框上按enter键(使用键盘)时,我试图调用Ajax来实现我网站上的搜索功能。要防止按enter键后加载页面,我使用Javascript Can';使用e.preventDefault()时,在输入框中键入t;,javascript,jquery,ajax,Javascript,Jquery,Ajax,当用户在html输入框上按enter键(使用键盘)时,我试图调用Ajax来实现我网站上的搜索功能。要防止按enter键后加载页面,我使用e.preventDefault()在ajax调用中,但我无法输入框的类型。它工作正常,但无法在输入框上输入。你能告诉我我做错了什么吗 $(document).keypress(function(e) { e.preventDefault(); var value = $('#txt_name').val(); if(e.whi
e.preventDefault()代码>在ajax调用中,但我无法输入框的类型。它工作正常,但无法在输入框上输入。你能告诉我我做错了什么吗
$(document).keypress(function(e) {
e.preventDefault();
var value = $('#txt_name').val();
if(e.which == 13) {
$.ajax({
type:"POST",
url:"doSearchEnter.php",
data:{
'key' : value
},
success:function(res){
$('#showSearchResult').html(res);
}
});
}
});
移动您ee.preventDefault()代码>在条件内,如:
$(document).keypress(function(e) {
var value = $('#txt_name').val();
if(e.which == 13) {
e.preventDefault();
$.ajax({
type:"post",
url:"doSearchEnter.php",
data:{
'key' : value
},
success:function(res){
$('#showSearchResult').html(res);
}
});
}
});
您无法在输入中键入
,因为您正在抑制所有击键的默认行为
您应仅在使用enter
键时禁止此操作:
$(document).keypress(function(e) {
var value = $('#txt_name').val();
if(e.which == 13) {
e.preventDefault(); // Moved this into here.
$.ajax({ ...
}
});
等等,为什么不阻止默认值只用于按下回车键,所以在if
语句中???@A.Wolff抱歉,我是Jquery的新手:)@A.Wolff哦,我明白了。谢谢