2011-08-19 72 views
1

我試圖做一個自動消失的通知框,通知框加載槽ajax,所以我不能使用$(document).ready();儘快創建jQuery觸發委託

我發現了我使用廣泛地漂亮.delegate()功能,所以基本上現在AJAX創建一個新的<div class="fade">Stupid monkey!</div>,我想它基於類定義2秒後消失,這就是我有這麼遠:

// 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(); 
    }); 
}); 

不管我用我更換eventType無法觸發我的處理程序之後創建的元素。我試過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上調用觸發器。