2013-02-16 2 views
0

Jquery 1.9.1로 변경하기 전에 약간 혼란스러워졌습니다. live() 이벤트를 사용하여 이벤트를 document.ready의 버튼에 바인딩했지만 지금은 .live().on() 이벤트로 변경해야하며 내 버튼이 작동하지 않습니다.Jquery에서 live() 이벤트 대신 On() 이벤트 추가

$(document).ready(function() { 
    $("#button").live('click', buttonEvent); 
}); 

이후 :

$(document).ready(function() { 
    $("#button").on('click', buttonEvent); 
}); 

내가 무엇을 놓치고 그래서 내가 전에 한 코드는 다음과 같다 수 있을까?

답변

2
$(document).ready(function() { 
    $(document).on('click', '#button', buttonEvent); 
}); 

jQuery .on()은 요소의 이벤트를 위임하는 데 사용할 수 있습니다. 그 패턴은 약간 다르지만 더 좋습니다.

1

당신은 구문 변경 보여 다음과 같다 해당 페이지에서 가져온이 페이지 Live to On

에 필요한 변경 볼 수 있습니다

1 $("a.offsite").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+ 
2 $(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); }); // jQuery 1.4.3+ 
3 $(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+ 
관련 문제