2012-09-19 5 views
-1

현재 jquery 1.7 이상에서 사용하도록 라이브 이벤트를 변환 중입니다.1.7.1로 새 데이터를 추가 한 후 jquery가 작동하지 않습니까?

는 단순히과 같이에 라이브 을 변경했습니다 :

하기 전에 :

$('.commentopen').live('click', function() { 

    var ID = $(this).attr("id"); 

    $("#commentbox"+ID).slideToggle('fast'); 
    return false; 
}); 

후 : 페이지로드 후 작품에

$('.commentopen').on('click', function() { 

    var ID = $(this).attr("id"); 

    $("#commentbox"+ID).slideToggle('fast'); 
    return false; 
}); 

하지만, 새 데이터를 동적으로 추가 한 후에 트리거하지 못합니다. 내가 놓친 게 있니?

답변

4

는 여전히 대표단에게 감사를했다

$(document).on('click', '.commentopen', function() { 
+0

를 사용해야합니다! – Paul

+1

문제 없습니다. 불필요한 순회를 줄이기 위해'document'를 가장 깊은 정적 선택자로 바꾸고 싶을 것이다. 마찬가지로, DOM에 준비된'# comments' div가 있으면 그것을 사용하십시오. 'live()'는'document'에 묶여 있기 때문에 느리다. – AlienWebguy

+0

좋은 점, 필요한 변경을하겠습니다. 다시 한 번 감사드립니다! – Paul

관련 문제