2011-08-19 2 views
1

자동으로 사라지는 알림 상자를 만들려고하는데 알림 상자가 물통 아약스에로드되어 $(document).ready();을 사용할 수 없습니다.jQuery 트리거 위임을 생성하자마자

내가 많이 사용하고있는 .delegate() 함수를 발견 했으므로 기본적으로 이제는 아약스가 <div class="fade">Stupid monkey!</div>을 새로 만들고 클래스 정의에 따라 2 초 후에 사라지길 바란다. 지금까지 : 내가 함께 eventType 대체 무엇이든

// ajax request handler 
jQuery('#message').append('<div class="fade">Stupid monkey!</div>'); 

jQuery('body').delegate('.fade', eventType, function() 
{ 
    jQuery(this).delay(2000).slideUp(500, function() 
    { 
     jQuery(this).remove(); 
    }); 
}); 

내가 요소를 생성 후 바로 내 핸들러를 트리거 할 수 없습니다. ready, load 및 모든 종류의 대안을 시도했습니다 ... click은 작동하지만 익명으로 click을 트리거 할 수 없습니다. div.

답변

1
jQuery('body').delegate('.fade', eventType, function() 
{ 
    jQuery(this).delay(2000).slideUp(500, function() 
    { 
     jQuery(this).remove(); 
    }); 
}); 

jQuery('<div class="fade">Stupid monkey!</div>').appendTo("#message").trigger(eventType); 

체인을 활용할 수 있습니다. 요소를 만들고 요소에 추가 한 다음 새로 추가 된 div에서 트리거를 호출하십시오.

관련 문제