>웹 프론트엔드 >JS 튜토리얼 >jQuery의 클릭 이벤트에서 이 점을 구문 분석합니다.

jQuery의 클릭 이벤트에서 이 점을 구문 분석합니다.

PHPz
PHPz원래의
2024-02-28 21:54:031241검색

jQuery의 클릭 이벤트에서 이 점을 구문 분석합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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