예제에 따르면,이 작업을 수행하는 이유가 없습니다.
일부 경우 사용법에 싫증이 났지만 도움이되는 경우가 있습니다. 범위가 손실 된 것처럼 성공 및 오류 콜백 내에서 위의에서 즉
$('a.go').click(function(e)
{
e.preventDefault();
if(!$(this).hasClass('busy'))
{
$(this).addClass('busy');
$.ajax(
{
success : function(resp)
{
$(this).removeClass('busy');
},
error : function()
{
$(this).removeClass('busy');
}
});
}
});
, $(this)
, 당신은 클릭 링크에 반영하지 않을 것입니다. 이 문제를 해결, 당신이 당신의 예제 코드에서 var self = $(this)
즉
$('a.go').click(function(e)
{
e.preventDefault();
if(!$(this).hasClass('busy'))
{
$(this).addClass('busy');
var btn = $(this);
$.ajax(
{
success : function(resp)
{
btn.removeClass('busy');
},
error : function()
{
btn.removeClass('busy');
}
});
}
});
는 생성자의 실행에서는 setTimeout합니까 :
다음 기사에서 자세한 내용을 찾을 것인가? 아니면 수업의 방법인가요? – ozz
@ozz : ['window.setTimeout']에 대한 문서를 참조하십시오 (https://developer.mozilla.org/en/DOM/window.setTimeout); 지정된 밀리 초 동안 제공된 함수의 실행을 지연시킵니다. – Matt
setTimeout을 사용하면 매개 변수를 전달할 수도 있습니다. 즉 http://jsfiddle.net/gRoberts/rYB3f/ 예에서 'this'를 'self'로 재 선언해야 할 필요성을 제거합니다. – Gavin