2014-08-29 52 views
1

我有一些JavaScript代碼將點擊事件綁定到某些元素,如下所示單擊事件。如何在每個ajax或完整請求後調用javascript

$(".alert-message .close").click(function(e) { 
    $(this).parent().fadeTo(200, 0, function() { 
     $(this).slideUp(300); 
    }); 
    e.preventDefault(); 
}); 

這就是所謂的文檔準備事件因此通常它正常工作,直到我的大火,更新頁面的部分Ajax請求。這個新創建的部分沒有添加點擊事件,最終我不得不爲每個Ajax請求調用此代碼,導致很多重複。

我正在尋找一種方法來編寫一次JavaScript代碼並在任何情況下調用它。是否有一些事件處理程序會在任何ajax或普通請求之後調用?

在任何ajax請求之後,引導程序不接受警報消息,所以必須有辦法。

回答

2

取決於哪個jQuery的版本你使用,你應該使用delegateon而不是直接綁定點擊。嘗試類似

$(document).on('click', '.alert-message .close', function(e) { 
    $(this).parent().fadeTo(200, 0, function() { 
     $(this).slideUp(300); 
    }); 
    e.preventDefault(); 
}); 

http://api.jquery.com/on/

2

使用事件委託和事件結合的.alert-message .close父母不得到重建:

$(document).on('click', ".alert-message .close", function(e) { 
2

取而代之的是,你可以使用on

$(parentDivOrContainer).on('click', ".alert-message .close", function(){...}); 

parentDivOrContainer可以是不受Ajax調用任何容器元素。

相關問題