2017-03-01 60 views
0

我正在嘗試使用JavaScript進行不活動的自動註銷。即使當我移動鼠標並快速按任意鍵時,計時器也不會重置。Mousemove和按鍵不起作用

var timeOut; 
function reset() { 
window.clearTimeout(timeOut); 
timeOut = window.setTimeout("redir()" , 5000); 
} 
function redir() { 
window.location = "index.php?page=Logout"; 
} 
window.onload = function() { setTimeout("redir()" , 5000) }; 
window.onmousemove = reset; 
window.onkeypress = reset; 

回答

0

設置timeOut變量在onload事件:

window.onload = function() { timeOut = setTimeout("redir()" , 5000) }; 

否則,clearTimeout無法清除第一個計時器。

另外請注意,這是最好的參考功能直接在setTimeout(),像這樣:

window.onload = function() { setTimeout(redir, 5000) }; 

工作段:

var timeOut; 
 

 
function reset() { 
 
    window.clearTimeout(timeOut); 
 
    timeOut = window.setTimeout(redir, 5000); 
 
} 
 

 
function redir() { 
 
    console.log('redirected'); 
 
} 
 

 
window.onload = function() { 
 
    timeOut = setTimeout(redir, 5000) 
 
} 
 

 
window.onmousemove = reset; 
 
window.onkeypress = reset;

+1

這個工作,太感謝你了! –