2012-04-04 23 views
2
$.PeriodicalUpdater.stop(); 

錯誤......給我......「不是一個函數」,從週期更新的停止功能

TypeError: Result of expression '$.PeriodicalUpdater.stop' [undefined] is not a function. 

我已經檢查的雙重檢查的owner's manual,我想不通爲什麼這個ISN工作不正常。這個錯誤大部分都是無害的,只是用戶的瀏覽器不會停止不再需要的服務器調用。

謝謝!

回答

1

的醫生說

函數調用返回的句柄。您可以在此 句柄上調用.stop()以停止更新並忽略任何後續的 響應。如果已觸發最大呼叫數量,.stop()或autoStop ,則可以使用 上的.restart()重新啓動更新程序。這個句柄也被傳入回調函數 的第四個參數。

所以它應該是

var handle =$.PeriodicalUpdater(url, options); 
handle.stop(); 

編輯 - 您的意見後,嘗試

$.PeriodicalUpdater(url, { options, function(remoteData, success, xhr, handle){ 
    if(condition){ 
    handle.stop(); 
    } 
}); 
+0

$ .PeriodicalUpdater(URL,{選項,函數(){如果(條件){$ .PeriodicalUpdater.stop();}}); 這就是我使用PU.stop()的上下文,是否會改變任何東西?這感覺很奇怪,在PU的功能內部聲明一個完全不同的PU我需要停下來...你覺得怎麼樣?感謝您的迴應,順便說一句! – NominalAeon 2012-04-04 17:55:13

+0

@ user1313446該句柄作爲函數的第四個參數傳遞,只需調用stop即可。我編輯了我的答案 – 2012-04-04 18:12:12

+0

謝謝,尼古拉,這是一個巨大的重量我肩膀! – NominalAeon 2012-04-04 20:29:49

0
從手動

函數調用返回一個句柄

。你可以在這個句柄上調用.stop()[...]

我認爲你必須在句柄上調用stop()。

例如:

var handle = $.PeriodicalUpdater('path',{},func); 
handle.stop(); 
+0

$ .PeriodicalUpdater(url,{options,function(){if(condition){$ .PeriodicalUpdater.stop();}}); 這就是我使用PU.stop()的上下文,是否會改變任何東西?這感覺很奇怪,在PU的功能內部聲明一個完全不同的PU我需要停下來...你覺得怎麼樣?感謝您的迴應,順便說一句! – NominalAeon 2012-04-04 17:56:09

+0

尼古拉的答案是正確的。你應該接受它。 ;) – 2012-04-04 19:21:12

+0

對不起,我是新手。所以在那裏勾選標記,對嗎?謝謝你們的迴應! – NominalAeon 2012-04-04 20:26:21