클리어 타임 아웃에 문제가 있습니까? 그것은 (커피 스크립트에서) 어떤 이유로 작동하지 않습니다
afunction =() ->
window.clearTimeout(timeoutID)
$(".x").text("#{message}").addClass("y")
timeoutID = window.setTimeout (->
$(".x").removeClass("y")
), 4000
클리어 타임 아웃에 문제가 있습니까? 그것은 (커피 스크립트에서) 어떤 이유로 작동하지 않습니다
afunction =() ->
window.clearTimeout(timeoutID)
$(".x").text("#{message}").addClass("y")
timeoutID = window.setTimeout (->
$(".x").removeClass("y")
), 4000
timeoutID
그래서 당신이 메서드를 호출 할 때마다, timeoutID
이 정의되지 않은 시작합니다, 지역 변수입니다.
이것은 젊은 선수들을위한 "좋은"함정 중 하나입니다. – PandaWood
그럼 빠른 수정은'aFunction' 외부에'timeoutID = null '을 넣어 (따라서 변수를 상위 범위로 이동 시키거나)'timeoutID =를 변경하는 것입니다. ..'를'window.timeoutID = ...'(글로벌하게 만든다). –
무엇이 컴파일됩니까? –