jQuery의 클릭 이벤트에서 이를 가리키는 것은 초보자들이 종종 혼란스러워하는 문제입니다. jQuery에서 이는 일반적으로 현재 처리 중인 요소를 참조하지만 클릭 이벤트에서는 다르게 지정됩니다. 본 글에서는 jQuery의 클릭 이벤트에서 이 점을 자세히 분석하고, 구체적인 코드 예시를 첨부하겠습니다.
jQuery에서는 이벤트 바인딩 방법을 사용하여 다양한 이벤트를 요소에 바인딩할 수 있으며, 가장 일반적인 방법은 클릭 이벤트입니다. 사용자가 요소를 클릭하면 클릭 이벤트가 트리거되고 이는 이벤트를 트리거한 요소를 가리킵니다. 그러나 상황이 항상 그렇게 간단한 것은 아니며 클릭 이벤트에서 이 위치는 다른 요인의 영향을 받을 수 있습니다.
다음은 간단한 샘플 코드입니다:
<!DOCTYPE html> <html> <head> <title>jQuery中this在点击事件中的指向</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <button class="btn">按钮1</button> <button class="btn">按钮2</button> <script> $('.btn').click(function() { console.log($(this).text()); }); </script> </body> </html>
위 코드에는 두 개의 버튼이 있으며 둘 다 동일한 클래스 이름 "btn"을 갖습니다. 버튼을 클릭하면 클릭 이벤트가 트리거되고 콘솔은 클릭한 버튼의 텍스트 콘텐츠를 출력합니다. 이 예에서 this는 클릭 이벤트를 트리거한 버튼 요소 자체를 가리키므로 $(this)를 통해 현재 버튼의 jQuery 객체를 가져온 다음 .text() 메서드를 통해 버튼의 텍스트 콘텐츠를 가져올 수 있습니다. .
코드를 약간 수정하면:
<!DOCTYPE html> <html> <head> <title>jQuery中this在点击事件中的指向</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <div> <button class="btn">按钮1</button> <button class="btn">按钮2</button> </div> <script> $('.btn').click(function() { console.log($(this).parent().text()); }); </script> </body> </html>
이 수정된 코드에서 버튼 요소는 div 요소 안에 래핑됩니다. 버튼을 클릭하면 이는 여전히 상위 요소 div가 아닌 버튼 요소 자체를 가리킵니다. 따라서 버튼의 상위 요소를 감싸는 jQuery 객체는 $(this)를 통해 직접 얻을 수 없습니다. 이 경우 $(this).parent()를 사용하여 버튼을 래핑하는 상위 요소를 가져오고 추가 작업을 수행할 수 있습니다.
일반적으로 클릭 이벤트에서 이 점은 이벤트를 트리거한 요소에 따라 다릅니다. 클릭 이벤트의 요소를 가져와야 하는 경우 $(this)를 사용하여 작업할 수 있습니다. 다른 관련 요소를 가져와야 하는 경우 $(this)의 상위 요소나 다른 jQuery 메서드를 통해 가져올 수 있습니다. 클릭 이벤트 방향에 능숙하면 개발자가 이벤트를 더 잘 처리하고 DOM 요소를 작동하는 데 도움이 될 수 있습니다.
위 내용은 jQuery의 클릭 이벤트에서 이 점을 구문 분석합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!