[JQUERY] 이벤트가 요소에 있는지 확인 [중복]
JQUERY이벤트가 요소에 있는지 확인 [중복]
해결법
-
1.
$('body').click(function(){ alert('test' )}) var foo = $.data( $('body').get(0), 'events' ).click // you can query $.data( object, 'events' ) and get an object back, then see what events are attached to it. $.each( foo, function(i,o) { alert(i) // guid of the event alert(o) // the function definition of the event handler });
당신은 $ .DATA에 대한 객체 참조 (안 jQuery 오브젝트하지만)를 공급함으로써 검사 할 수 있고, 두 번째 인수 피드 '이벤트'와 그것을 위해 같은 '클릭'과 같은 모든 이벤트로 채워 객체를 반환합니다. 당신은 그 개체를 통해 루프를 할 수있는 이벤트 핸들러가 무엇을 참조하십시오.
-
2.당신은 사용할 수 있습니다 :
당신은 사용할 수 있습니다 :
$("#foo").unbind('click');
반드시 모든 클릭 이벤트가 unbinded입니다 수 있도록, 다음 이벤트를 첨부
-
3.요소의 이벤트를 확인하려면 :
요소의 이벤트를 확인하려면 :
var events = $._data(element, "events")
예를 들면 :
var events = $._data(document.getElementById("myElemId"), "events")
또는
var events = $._data($("#myElemId")[0], "events")
전체 예 :
<html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script> <script> $(function() { $("#textDiv").click(function() { //Event Handling }); var events = $._data(document.getElementById('textDiv'), "events"); var hasEvents = (events != null); }); </script> </head> <body> <div id="textDiv">Text</div> </body> </html>
$ (문서) CSTE 연구진과 함께 설치된 동적 수신기를 포함하고 확인하는보다 완전한 방식으로,
function getEvents(element) { var elemEvents = $._data(element, "events"); var allDocEvnts = $._data(document, "events"); for(var evntType in allDocEvnts) { if(allDocEvnts.hasOwnProperty(evntType)) { var evts = allDocEvnts[evntType]; for(var i = 0; i < evts.length; i++) { if($(element).is(evts[i].selector)) { if(elemEvents == null) { elemEvents = {}; } if(!elemEvents.hasOwnProperty(evntType)) { elemEvents[evntType] = []; } elemEvents[evntType].push(evts[i]); } } } } return elemEvents; }
사용 예제 :
getEvents($('#myElemId')[0])
-
4.JQuery와 이벤트 필터를 사용
JQuery와 이벤트 필터를 사용
당신은 다음과 같이 사용할 수 있습니다
$("a:Event(click)")
-
5.나는 정확히 않는 hasEventListener라는 플러그인을 썼다.
나는 정확히 않는 hasEventListener라는 플러그인을 썼다.
도움이 되었기를 바랍니다.
-
6.코드 아래에 주어진 선택의 모든 클릭 이벤트를 제공합니다 :
코드 아래에 주어진 선택의 모든 클릭 이벤트를 제공합니다 :
jQuery(selector).data('events').click
각 또는 전직을위한을 사용하여 반복 할 수 있습니다. 등의 확인을 위해 길이를 확인 :
jQuery(selector).data('events').click.length
누군가 도움이 될 생각. :)
-
7.나를 위해이 작품이 발생한 개체 및 이벤트의 유형을 보이고있다.
나를 위해이 작품이 발생한 개체 및 이벤트의 유형을 보이고있다.
var foo = $._data( $('body').get(0), 'events' ); $.each( foo, function(i,o) { console.log(i); // guide of the event console.log(o); // the function definition of the event handler });
-
8.나는이 일을 결국
나는이 일을 결국
typeof ($('#mySelector').data('events').click) == "object"
from https://stackoverflow.com/questions/1515069/check-if-event-exists-on-element by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] AngularJS와 + JQuery와 어떻게 AngularJS와에서 작업 동적 콘텐츠를 얻을 수 있습니다 (0) | 2020.10.13 |
---|---|
[JQUERY] 업로드 파일 전에 파일 확장자의 검증 (0) | 2020.10.13 |
[JQUERY] 어떻게 자바 스크립트에서 이미지를 캐시 않는다 (0) | 2020.10.13 |
[JQUERY] HTML 태그를 제거하지만 innerHTML을 유지 (0) | 2020.10.13 |
[JQUERY] 이벤트 핸들러 jQuery를 요소에 결합되는 경우 시험 [중복] (0) | 2020.10.13 |