누군가 내 코드를 잘못 설명 했습니까? 공용 변수를 선언하고 setTimeout으로 설정하고 null이 아닌 경우 다시 설정되기 전에 시간 초과를 지우려고합니다. 시간 제한을 지우려고 할 때 시간 제한이 계속 실행되므로 정의되지 않습니다.JavaScript clearTimeout는 정의되지 않은 코드를 반환합니다.
var usernameCheckTimeout = null;
$(document).ready(function(){
$("#username").on("keyup", function(e){
if($(this).val().length >= 6)
{
if(usernameCheckTimeout != null)
{
clearTimeout(usernameCheckTimeout);
}
usernameCheckTimeout = setTimeout(isUsernameAvailable($(this).val()), 1000);
}
});
});
function isUsernameAvailable(username)
{
$.ajax({
url : "/account/username-check",
method : "POST",
dataType : 'json',
data : {
'username' : username
}
}).done(function(data) {
console.log(data);
});
};
+1. –