超时计时不检测输入域
Timeout time counting does not detect input field
我在 mouse click
、keyup 和 keypress
上编写了重置超时的方法,但我刚刚意识到它不会检查输入字段,所以当我在字段中主动输入时它会暂停。
这是我的代码:
var idleInterval = setInterval(timerIncrement, 10000);
var idleTime = 0;
$(document).ready(function () {
//Increment the idle time counter every minute.
//Zero the idle timer on mouse movement.
$(this).mousemove(function (e) {
idleTime = 0;
});
$(this).keypress(function (e) {
idleTime = 0;
});
$(this).keyup(function (e) {
idleTime = 0;
});
});
function timerIncrement() {
idleTime = idleTime + 1;
if (idleTime > 4) {
window.location.replace('/timeout.aspx');
}
}
您可以使用此 jQuery 函数来检测页面上的所有按键:
$(document).on("keypress", function (e) {
idleTime = 0;
});
因此您的代码应如下所示:
var idleInterval = setInterval(timerIncrement, 10000);
var idleTime = 0;
function timerIncrement() {
idleTime = idleTime + 1;
if (idleTime > 4) {
window.location.replace('/timeout.aspx');
}
}
$(document).ready(function () {
$(this).mousemove(function (e) {
idleTime = 0;
});
$(document).on("keypress", function (e) {
idleTime = 0;
});
});
您应该在 document.ready()
函数中包含所有代码。
$(document).ready(function() {
var idleInterval = setInterval(timerIncrement, 10000);
var idleTime = 0;
$(document).on('keyup', function() {
console.log('Keyup Detected');
idleTime = 0;
});
function timerIncrement() {
idleTime++;
if (idleTime > 4)
window.location.replace('/timeout.aspx');
}
});
我在 mouse click
、keyup 和 keypress
上编写了重置超时的方法,但我刚刚意识到它不会检查输入字段,所以当我在字段中主动输入时它会暂停。
这是我的代码:
var idleInterval = setInterval(timerIncrement, 10000);
var idleTime = 0;
$(document).ready(function () {
//Increment the idle time counter every minute.
//Zero the idle timer on mouse movement.
$(this).mousemove(function (e) {
idleTime = 0;
});
$(this).keypress(function (e) {
idleTime = 0;
});
$(this).keyup(function (e) {
idleTime = 0;
});
});
function timerIncrement() {
idleTime = idleTime + 1;
if (idleTime > 4) {
window.location.replace('/timeout.aspx');
}
}
您可以使用此 jQuery 函数来检测页面上的所有按键:
$(document).on("keypress", function (e) {
idleTime = 0;
});
因此您的代码应如下所示:
var idleInterval = setInterval(timerIncrement, 10000);
var idleTime = 0;
function timerIncrement() {
idleTime = idleTime + 1;
if (idleTime > 4) {
window.location.replace('/timeout.aspx');
}
}
$(document).ready(function () {
$(this).mousemove(function (e) {
idleTime = 0;
});
$(document).on("keypress", function (e) {
idleTime = 0;
});
});
您应该在 document.ready()
函数中包含所有代码。
$(document).ready(function() {
var idleInterval = setInterval(timerIncrement, 10000);
var idleTime = 0;
$(document).on('keyup', function() {
console.log('Keyup Detected');
idleTime = 0;
});
function timerIncrement() {
idleTime++;
if (idleTime > 4)
window.location.replace('/timeout.aspx');
}
});