>웹 프론트엔드 >JS 튜토리얼 >jQuery를 사용하여 특정 요소에 대한 이벤트 바인딩을 검색하는 방법은 무엇입니까?

jQuery를 사용하여 특정 요소에 대한 이벤트 바인딩을 검색하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-08 09:09:011050검색

How to Retrieve Event Bindings to a Specific Element with jQuery?

jQuery로 이벤트 바인딩 검색

웹 개발에서는 사용자 상호 작용에 응답하기 위해 요소에 이벤트 핸들러를 연결해야 하는 경우가 많습니다. jQuery는 이벤트를 요소에 바인딩하는 편리한 방법을 제공하지만 특정 요소에 바인딩된 모든 이벤트 목록을 어떻게 검색할 수 있습니까?

두 개의 이벤트 핸들러가 링크에 바인딩된 다음 예를 고려해 보세요.

<a href='#'>
$(function() {
  $('#elm').click(_f);
  $('#elm').mouseover(_m);
});

function _f() { alert('clicked'); }
function _m() { alert('mouse over'); }

바운드 이벤트 검색

목록을 얻으려면 이벤트가 요소에 바인딩된 경우 jQuery는 $._data 메서드를 제공합니다. 이 메서드는 jQuery에 바인딩된 모든 이벤트를 포함하여 요소와 연결된 내부 데이터에 액세스하는 데 사용할 수 있습니다.

$._data($('#elm')[0], "events");

$._data의 출력은 요소에 바인딩된 이벤트를 포함하는 개체가 됩니다. 각 이벤트는 핸들러 배열로 표시됩니다. 예를 들어 위 코드의 결과는 다음과 같습니다.

{
  "click": [function() { alert('clicked'); }],
  "mouseover": [function() { alert('mouse over'); }]
}

추가 탐색

최신 버전의 jQuery에서 $._data는 내부용입니다. 유일한 방법. 이벤트 바인딩을 검색하려면 브라우저 개발자 도구의 이벤트 버블링 뷰어를 사용할 수도 있습니다. Chrome에서는 콘솔에서 이벤트 핸들러를 마우스 오른쪽 버튼으로 클릭하고 '함수 정의 보기'를 선택하면 이벤트 핸들러가 정의된 코드가 표시됩니다.

위 내용은 jQuery를 사용하여 특정 요소에 대한 이벤트 바인딩을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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