jQuery 1.7부터 .bind(), .live(), .delegate()가 .on()으로 통합되었다. .on()은 정적 요소뿐만 아니라 동적으로 추가된 요소의 이벤트 처리(이벤트 위임)도 지원하며, 문법적 통합과 유지보수성을 위해 기존 메서드 대신 .on()을 사용해야 한다. .live()와 .delegate()는 이후 버전에서 제거되거나 비권장 상태이다.
6 min read
jQuery 이벤트 핸들링: .on() 사용 권장
Source
Evernote/Advanced View Required/이벤트 설정 시에 jQuery의 .on()을 사용하자.md
Summary
jQuery 1.7부터 .bind(), .live(), .delegate()가 .on()으로 통합되었다. .on()은 정적 요소뿐만 아니라 동적으로 추가된 요소의 이벤트 처리(이벤트 위임)도 지원하며, 문법적 통합과 유지보수성을 위해 기존 메서드 대신 .on()을 사용해야 한다. .live()와 .delegate()는 이후 버전에서 제거되거나 비권장 상태이다.
Key Points
jQuery 1.7 이상에서는 .bind(), .live(), .delegate() 대신 .on()을 사용해야 함
.bind()는 DOM 로드 시점의 요소만 처리 가능하나, .on()은 이벤트 위임을 통해 동적 요소도 처리 가능
.on()은 여러 이벤트를 공백으로 구분하거나 객체 형태로 한 번에 설정할 수 있어 효율적임
.live()는 jQuery 1.9에서 제거되었으며, .delegate()도 향후 제거 예정이므로 .on()으로 마이그레이션 필요