[JQUERY] 이벤트 핸들러 jQuery를 요소에 결합되는 경우 시험 [중복]
JQUERY이벤트 핸들러 jQuery를 요소에 결합되는 경우 시험 [중복]
해결법
-
1.당신은 데이터 캐시에서이 정보를 얻을 수 있습니다.
당신은 데이터 캐시에서이 정보를 얻을 수 있습니다.
예를 들어, 콘솔 (방화범, IE8)에 로그 :
console.dir( $('#someElementId').data('events') );
또는를 반복 :
jQuery.each($('#someElementId').data('events'), function(i, event){ jQuery.each(event, function(i, handler){ console.log( handler.toString() ); }); });
또 다른 방법은 다음과 같은 북마크를 사용할 수 있지만 분명히이 런타임에 도움이되지 않는 것입니다.
-
2.아직 존재하지 않는 경우 바인딩 죽이고하는 것은 최선의 해결책이지만 충분한 효과가 보인다! 두 번째로 당신은 당신이 결합 중복을 생성하지 않습니다 확실하게 알 수있는 '클릭'.
아직 존재하지 않는 경우 바인딩 죽이고하는 것은 최선의 해결책이지만 충분한 효과가 보인다! 두 번째로 당신은 당신이 결합 중복을 생성하지 않습니다 확실하게 알 수있는 '클릭'.
그래서 저는 다음과 같이) ((다이) 또는 바인딩 해제 사용
$("#someid").die("click").live("click",function(){...
또는
$("#someid").unbind("click").bind("click",function(){...
또는 최근의 jQuery 버전 :
$("#someid").off("click").on("click",function(){...
-
3.나는 정확히 수행 hasEventListener라는 플러그인을 썼다 :
나는 정확히 수행 hasEventListener라는 플러그인을 썼다 :
http://github.com/sebastien-p/jquery.hasEventListener
도움이 되었기를 바랍니다.
-
4.이 솔루션은 더 이상 우리가 여기 블로그에서 읽을 수있는 jQuery를 1.8부터 지원되지 않습니다 :
이 솔루션은 더 이상 우리가 여기 블로그에서 읽을 수있는 jQuery를 1.8부터 지원되지 않습니다 :
그래서, 당신은 / 언 바인딩을 바인딩하거나, 결정하는 부울을 사용해야하는 경우 (제 생각 최적의 솔루션에) 부착 또는되었는지 등의 이벤트.
-
5.나는이 jQuery를 1.9으로 업데이트 한 것 같아요. *
나는이 jQuery를 1.9으로 업데이트 한 것 같아요. *
나는이 순간에 나를 위해 작동 유일한 것입니다 찾는거야 :
$._data($("#yourElementID")[0]).events
-
6.나는 그렇게하는 "한 번"이라는 아주 작은 플러그인을 썼다 :
나는 그렇게하는 "한 번"이라는 아주 작은 플러그인을 썼다 :
$.fn.once = function(a, b) { return this.each(function() { $(this).off(a).on(a,b); }); };
그리고 단순히 :
$(element).once('click', function(){ });
-
7.jQuery를 들어 1.9+
jQuery를 들어 1.9+
var eventListeners = $._data($('.classname')[0], "events");
I는 [0] 배열 리터럴을 필요로했다.
-
8.나는 hasEventListener는 예를 들어, 사용자 정의 이벤트를 처리 할 언급 한 플러그인이 생각하지 않습니다
나는 hasEventListener는 예를 들어, 사용자 정의 이벤트를 처리 할 언급 한 플러그인이 생각하지 않습니다
var obj = {id:'test'}; $(obj).bind('custom', function(){ alert('custom'); }).trigger('custom'); alert($(obj).hasEventListener('custom'));
또한, jQuery를 1.5 적어도 난 당신이 위의 물체에 바인딩 된 이벤트에 대해 다르게 반환하기 때문에 $ (대상) .DATA ( '이벤트')를 사용하여주의해야합니다 생각합니다.
당신은 같은 것을 할 필요가 :
var events = $(target).data("events"); if(typeof events === "function"){ events = events.events; }
나는 접근의이 종류를 사용하고 그것은 작동하지만 정말 내가 그 일을하지 않아야한다는 나는 JQuery와 내부의 자비입니다처럼 조금 느낌!
-
9.나도 같은 요구를했다 및 신속 같은 것을 할 수 있도록 기존의 코드를 패치 :
나도 같은 요구를했다 및 신속 같은 것을 할 수 있도록 기존의 코드를 패치 :
if( $('.scroll').hasHandlers('mouseout') ) // could be click, or '*'... { ... code .. }
너무 이벤트 위임을 위해 작동합니다 :
if ( $('#main').hasHandlers('click','.simple-search') ) ...
그것은 여기에 있습니다 : JQuery와 핸들러 - toolkit.js
-
10.SJG의 대답을 참조하고 W3Schools.com에서
SJG의 대답을 참조하고 W3Schools.com에서
이것은 제공합니다 :
$("#someid").off("click").live("click",function(){...
또는
$("#someid").off("click").bind("click",function(){...
-
11.이것은 나를 위해 작동합니다 : $ ( '#의 profile1'). ATTR ( '온 클릭')
이것은 나를 위해 작동합니다 : $ ( '#의 profile1'). ATTR ( '온 클릭')
from https://stackoverflow.com/questions/1236067/test-if-event-handler-is-bound-to-an-element-in-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 어떻게 자바 스크립트에서 이미지를 캐시 않는다 (0) | 2020.10.13 |
---|---|
[JQUERY] HTML 태그를 제거하지만 innerHTML을 유지 (0) | 2020.10.13 |
[JQUERY] 어떻게 각도 4 jQuery를 플러그인을 사용 하는가? (0) | 2020.10.13 |
[JQUERY] $ 아약스 ()와 $ 갔지 ()와 $ .load의 차이 () (0) | 2020.10.13 |
[JQUERY] AJAX 성공에서 JSON 결과를 통해 jQuery를 루프? (0) | 2020.10.13 |