我有这段代码,它可以启用输入,专注于输入,然后在您单击或按Enter时触发ajax请求。
151.101.1.63 files.pythonhosted.org
它看起来还不错,除了按Enter之外,它还可以多次触发ajax。
任何人都可以建议原因吗?
谢谢
答案 0 :(得分:1)
只需添加一个简单的检查,看看是否完成。然后在您准备再次进行单击检查时刷新它
var done = false;
function ajaxCall() {
if(!done) {
$.ajax({ url : 'file.php?var=' + var + '&nextvar=' + nextvar,
success: function(response) {
console.log (response);
done = true;
}
});
}
$("#imp" + id).prop('disabled', true);
}
$(document).ready(function() {
$("body").on('click', '.input', function(){
id = $(this).attr('id');
$("#inp" + id).prop('disabled', false).focus();
});
$("#imp" + id).on('blur',function(e) { ajaxCall() });
$("#imp" + id).on('keyup',function(e) { if(e.keyCode === 13) ajaxCall() });
});
这仅运行一次(请注意done = false
)(如果要重置它),请再次使全局“完成”变量为false。