2010-02-18 2 views
4

타사를 통해 바인드 된 이벤트 핸들러를 일시적으로 바인드 해제 한 다음 (즉, 직접 바인드하지 않았 음) 복원 할 수 있습니까?다른 함수/플러그인을 통해 첨부 된 jquery 이벤트를 일시적으로 사용 중지하는 방법

예를 들어 jQuery UI의 탭을 사용하고 있습니다.

나는 모든 바인딩을 해제하고 싶습니다. 특정 시점에 바인딩을 다시 바인딩하고 싶습니다.

그래서, 예를 들면 :

  • JQuery와 UI가 탭을 생성하고 각 탭에 클릭 (및 기타) 이벤트를 결합 내 스크립트가 다음 각 탭에 대한 이벤트를 캐시
  • 하고 그들에게 바인딩 해제
  • 그런 다음 내 스크립트는 다른 변수를 기반으로 각 탭에 대해 캐시 된 이벤트를 하나씩 다시 바인딩합니다.

언 바인딩 이벤트는 쉽게 보이지만 이전에는 이벤트를 저장하는 방법을 모르겠습니다. 나는 그것들을 바인딩 해제하고 나중에 다시 바인딩 할 수있게한다.

답변

3

플러그인 전에 이벤트에 자신의 처리기를 추가하십시오.

처리기에서 플러그인의 처리기를 실행할지 여부를 확인하고 처리 할 의사가없는 경우 event.stopImmediatePropagation으로 전화하십시오.

+1

영리한! 지금 그걸 시도해 ... –

+1

위대한 작품! 감사! 이것은 좋은 팁입니다. –

+0

감사합니다. 나는 며칠 동안 내 머리를 두드렸다. – Barun

관련 문제