본문 바로가기

javascript/jQuery

[jQuery] bind(), delegate(), live()를 on()으로 대체하기


live()는 jQuery 1.9.x 부터 deprecated 되었고...

이전부터 bind(), delegate(), live() 메소드를 on()으로 대체하여 사용하는걸 계속 권장해 왔으니 on()으로 어떻게 세 함수를 대체 하는지 간단하게 알아본다


// Bind
$( "#members li a" ).on( "click", function( e ) {} );
$( "#members li a" ).bind( "click", function( e ) {} );
 
// Live
$( document ).on( "click", "#members li a", function( e ) {} );
$( "#members li a" ).live( "click", function( e ) {} );
 
// Delegate
$( "#members" ).on( "click", "li a", function( e ) {} );
$( "#members" ).delegate( "li a", "click", function( e ) {} );



코드 출처 : http://www.elijahmanor.com/2012/02/differences-between-jquery-bind-vs-live.html