이것은 멍청한 문제입니다. 죄송합니다. 나는 PHP 백엔드와 함께 jQuery와 ajax를 사용하여 키 업에 대한 사용자 이름의 가용성을 확인하고있다. 나는 이것을 나의 형태로 가진다. 내 스크립트에 javascript/jQuery setTimeout 및 clearTimeout이 작동하지 않습니다.
Username <input id="uName" type="text" maxlength="20" name="username" /><br />
<span id="uNMessage"> </span>
이는 나는
unmsg()
의 실행을 지연하지 않았다
untmr()
내에서 변수
unto
를 선언
function unchk(){
$('#uName').keyup(function(){
var ab = $(this);
if(ab.val().length > 4){
$.ajax({url: "/php/username-check.php",type:'post',data:{username:$(this).val()},
success: function(result){
if(result == 0){
ab.css("outline-color","red");
untmr('Username Already Taken');
}
else if(result == 1){
ab.css("outline-color","#42c43b");
$('#uNMessage').html(' ');
}
}
});
}
else{
$(this).css("outline-color","red");
}
});
}//END FUNCTION UNCHK
function untmr(msg){
clearTimeout(unto);
unto = setTimeout(unmsg(msg),1500);
}
function unmsg(msg){
$('#uNMessage').html(msg);
}
$(document).ready(function(){
unchk();
var unto;
});
때, 나는 글로벌로 변경하는 경우, 그것은 모두 실행 중지. 흠.
사용 시세 : =에서는 setTimeout에게 ("unmsg (msg)", 1500); – hackartist
@hackartist :'setTimeout'에 문자열을 건네주는 것은 권장하지 않습니다. (https://developer.mozilla.org/en/DOM/window.setTimeout#section_2). – josh3736