2012-04-04 27 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