我有2页需要每分钟调用一次函数,所以我使用setInterval()
执行此操作。但是,每当我导航到页面时,都会创建一个新的间隔,最终会使网站陷入困境。每当我离开页面时,有没有办法取消间隔?
var pollinginterval = 60000;
$('#HomeViewPage_MyLocation').live('pagebeforeshow', function(toPage, fromPage){
GetUsersByLocation();
setInterval(function() {
GetUsersByLocation();
}, pollinginterval);
});
$('#HomeViewPage_ColleagueLocation').live('pageshow', function(toPage, fromPage){
GetAllUsersByTeam();
GetAvailableTeams();
setInterval(function() {
GetAllUsersByTeam();
GetAvailableTeams();
}, pollinginterval);
});
答案 0 :(得分:0)
你的意思是刷新浏览器页面吗?然后你可以通过持续unload
:
var runMyFunction = function() {
// clear interval
};
window.onunload = runMyFunction();
如果没有,您仍然可以清除内部页面更改的间隔。
答案 1 :(得分:0)
这是因为jQM存在多个事件的问题。好的,这不是问题,您必须了解,在您的情况下,每次访问您的页面时,都会再次应用相同的事件。
你可以做两件事来解决这个问题:
点击事件的示例:
$('#elementID').unbind();
$('#elementID').bind('click', function(e) {
});
点击事件的示例:
$('#elementID:Event(click)').each(function(){
});