2010-05-14 81 views
1

好吧,有一點棘手(對我來說,無論如何,我在jQuery/JavaScript中相當垃圾)。使用jQuery來偵聽未使用jQuery加載的AJAX負載。AJAX

我使用標準的AJAX數據拉(即不使用像jQuery框架或諸如此類的東西...有它的一個原因)

然而,然後我需要加載一個jQuery腳本一旦頁面被加載進去,所以,這裏是一個問題,DOM更新後如何綁定腳本?我一直在使用Ariel Fleser的監聽插件(http://flesler.blogspot.com/2007/10/jquerylisten.html),用於處理諸如點擊這樣的事件,但是我無法看到如何使用監聽進行加載事件。

任何想法?我很難過這個!

+0

正如Matt在下面所述,「不使用jQuery中提供的AJAX功能的原因是什麼?」 – 2010-05-14 09:53:58

回答

2

出了什麼問題:

yourXMLHTTPRequest.onreadystatechange = function() { 
    if (this.readyState == 4) { 
     doJQueryStuff(); 
    } 
} 

而且,什麼是不使用jQuery中提供的AJAX功能的原因是什麼?

順便說一句,它看起來像插件,你剛纔提到在複製1.4

+0

Duh,我完全沒有想到那個!可能是因爲我感覺非常噁心!儘管歡呼快速反應,但盡力了! 不使用jQuery AJAX位的原因剛好偏好,它適用於大型系統。我確實研究過它,但發現它不太適合需要的東西。 – rich 2010-05-14 09:58:05

+0

我有同樣的問題,但對於自我解決方案,我如何找出「yourXMLHTTPRequest」是什麼?不能真正潛入已編寫的代碼中,但只是想在調用完成後觸發一個方法 – 2012-06-06 15:45:52

1

被帶入的jQuery的live()delegate()方法給出爲了解析通過AJAX加載的javascript功能,你需要使用eval()函數。雖然,就這些事情而言,很多編碼者認爲eval()是,嗯,邪惡......(a link,another link)。

無論eval的正確與否,webdeveloper上的this thread都應該爲您提供解決方案。

+0

這是非常有趣的東西,不能說我特別擅長javascript。儘管現在我已經設法做到了我所需要的 – rich 2010-05-14 10:15:20