2010-08-11 50 views
0

我正在使用$('#container')。load方法來處理加載我網站的所有子頁面。 現在的交易是,一些子頁面需要額外的行爲(如表單驗證等)通過AJAX的jQuery - .load頁面,加載頁面上的回調定義?

我想他們是自包含的,所以 - 每個子頁面都有自己的JS代碼,可以處理所有的子頁面特定的任務。然而,這需要其中的一些人來處理「加載」回調以訪問剛加載的DOM節點。

有關如何實現它的任何提示?我試圖把 複製代碼

<form id="my-form"> .. </form> 
<script> 
$('#my-form').ready(function() { 
    //.. 
});</script> 

,但它似乎並沒有被觸發通過AJAX加載時。

+0

您正在使用哪個版本的jQuery? – 2010-08-11 12:03:27

回答

0

最後,我已經想通了這個問題。這完全是關於內容過濾(.load方法的第二個參數)。 現在,我不是在JS端進行過濾,而是在服務器端進行過濾。

0

由於您的表單/加載頁面時,你需要使用的livedelegate方法要麼,例如這裏是你如何可以驗證您的形式:

$('#my-form').live('submit', function(){ 
    // your validation code.... 
}); 

livedelegate方法的任何元素上工作目前或在未來

更多信息:

+0

在低於1.4的jQuery版本中,* submit *,* focus *和* blur *等非冒泡DOM事件不能與* live()*一起使用。只要你堅持更新的版本,這不會是一個問題。 – 2010-08-11 08:55:28

+0

@Andy E:同意,我們假設使用最新版本的jquery,畢竟它有各種修復,尤其是事件處理。 – Sarfraz 2010-08-11 09:03:35

+0

您提供的代碼需要放在「主」代碼中,而不是加載的子頁面。 – migajek 2010-08-14 08:54:33

相關問題