2010-02-09 64 views
4

我想用$ .getScript動態加載file.js。我有幾個選擇選項可以在每次點擊時加載不同的腳本。我只想調用它一次,如果可能的話從點擊中刪除它,點擊另一個選項,但螢火蟲說,一次又一次地加載相同的腳本在接下來的點擊。已經嘗試了幾種解決方案,但發現意外的結果:

  1. 在回調中放置解除綁定點擊或事件權限。在下一次點擊時,這個殺死點擊事件。我仍然希望點擊發生。也許我做錯了。使用。長度來檢查網址是否有使用變量/函數在腳本中沒有運氣
  2. ,如果它是有在DOM
  3. 已經

我錯過了什麼,或者它應該是這樣?我在jQuery論壇上發現了一個關於這個問題的永恆問題:)希望在這裏找到更好的運氣。感謝您的幫助。

回答

7

這相當於getScript幕後。將緩存選項設置爲true應該可以解決您的問題。

$.ajax({ 
    url: url, 
    dataType: 'script', 
    success: success, 
    cache: true 
}); 
+0

我的,它確實在不到一毫秒時在我的腦海中尋找解決方案:)只有從未想過它有dataType:'script',dan cache:true可以拯救我的生命。當我說得對,我會報告回來。感謝百萬 – swan 2010-02-10 04:00:38

+0

@kuswantin:沒問題,我寧願他們有某種dataType枚舉該選項。這樣,如果你使用一個漂亮的IDE,你可以獲得智能感知。無論如何,只要記住用jQuery文檔打開一個標籤頁,你永遠不需要記住任何東西。當你使用jQuery時,即使你不記得具體細節,你也會知道該查找什麼。 – ChaosPandion 2010-02-10 04:59:50

+0

這種方式,我甚至可以用簡單的jquery文件調用來替換我的舊ajax php頁面。感謝寶貴的寶石。 – swan 2010-02-13 04:58:21