>웹 프론트엔드 >JS 튜토리얼 >js 기본 function_jquery의 jQuery에서 $(this)를 사용하는 잘못된 솔루션

js 기본 function_jquery의 jQuery에서 $(this)를 사용하는 잘못된 솔루션

WBOY
WBOY원래의
2016-05-16 18:06:211115검색

오늘 제 예시는 이렇습니다.

코드 복사 코드는 다음과 같습니다.

$( "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)
})

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.