오늘 제 예시는 이렇습니다.
$( "ul li").hover(function(){
setTimeout(function(){
$(this).addClass("test");
Alert("0.3초 지연 후에 나타났습니다!" ) //Test
},300)
})
실행시 이 노란색 부분이 실행되지 않더니 $(this)가 떴는데 이렇게 나오네요. undefound (사실 이미 짐작함);
그러다가 생각도 못하고(익숙해서) 바로 바이두에 찾아봤는데 답이 안나오더라구요. 다른 방법이 있는데 별로 합리적이지 않다고 생각해서 내부에서는 읽을 수 없다고 생각했는데 외부에서는 읽을 수 있었습니다. 그런 다음 setTimeout( 외부 변수에 $(this)를 할당했습니다. ). 이것으로 문제가 해결됩니다. 하하, 꽤 할 말이 없는 질문입니다. 사실 저는 이런 생각을 이야기하려고 온 것이 아닙니다. 문제를 해결하기 전에 바이두나 구글에 가지 마세요. > 스스로 해결책을 생각해야 합니다. 정말 생각이 나지 않습니다.
$("ul li").hover (function( ){
var oLi = $(this);
setTimeout(function(){
oLi.addClass("test");
Alert("0.3초 지연 후에 나타났습니다! ") //테스트
},300)
})