Javascript

[Jquery] click 이벤트 활성화, 비활성화

MuGrammer 2015. 3. 5. 09:54

 

 

$(selector).on('click', function(){
	//TODO 클릭시 로직 수행
});

 

$(selector).off('click');

 

jQuery의 .on 메서드를 통해 이벤트핸들러를 등록

.off 메서드를 통해 이벤트 핸들러를 해제한다. 

 

참고로 이렇게도 사용이 가능하다. 

 

$(selector).off('click').on('click', function(){
	//TODO 클릭시 로직 수행
});

selector에 등록된 이전 click 이벤트 핸들러를 해제하고 다시 click 이벤트를 등록한다. 

 

가끔 특정 함수 내부에 click 이벤트를 등록하는 로직이 실행되도록 해야하는 경우가 있다. 

 

함수가 여러번 호출된다면 click 이벤트 등록이 매번 실행이 되어 난 클릭을 한번했는데 클릭 이벤트가 여러번 실행되는 경우들이 있다. 

 

클릭 이벤트가 중복으로 발생하지 않도록 해주려면 위 코드처럼 이벤트 해제, 그리고 등록을 거쳐야한다. 

 

참고로 jQuery 1.7버전부터 이벤트 핸들러 등록에 대한 사항은 .on, .off 가 기능을 제공해주고 있고 이전 버전에서는 .bind, .delegate, .live가 기능을 제공해주고 있었다. 

 

현재 사용중인 jQuery 버전이 1.7 이상인데 굳이 .bind, .delegate, live를 사용할 필욘 없으니 참고하자. 

 

 

참고 : 

 - on() : https://api.jquery.com/on/

 - off() : https://api.jquery.com/off/

 

반응형

'Javascript' 카테고리의 다른 글

Array.sort  (0) 2019.05.08
Eclipse - Emmet (Zen Coding) Plugin 추가  (1) 2018.07.23
동적테이블 생성  (0) 2015.01.20
MetaTag  (0) 2015.01.08
Windows8.1 + IE11 화면배율 자동변경 문제!  (0) 2014.10.31