在 angular/ionic 应用中点击 anywhere/button press/input 焦点
Catch click anywhere/button press/input focus in angular/ionic app
我有一个带有自动注销功能的 ionic 应用程序。当用户执行任何操作时,我需要延长会话超时时间。我将剩余时间存储在本地存储中(使用 localStorageService)。
我可以在用户更改屏幕或单击按钮时延长时间,但我不确定如何在其余元素上执行此操作。
我只需要一种方法来捕捉任何动作(点击背景、关注元素、按下按钮)等。最简单的方法是什么?谢谢
您应该能够监听 touchend
事件,并保持超时;像这样:
.controller("AppCtrl", function ($scope, $timeout) {
var timeoutPromise,
$body = document.querySelector("body");
function logout () {
// do logout work here
}
function resetTimer () {
$timeout.cancel(timeoutPromise);
timeoutPromise = $timeout(logout, 60000); // log out after 60 seconds
}
ionic.on("touchstart", resetTimer, $body);
ionic.on("touchend", resetTimer, $body);
resetTimer();
});
一些来源:
http://ionicframework.com/docs/api/utility/ionic.EventController/
https://docs.angularjs.org/api/ng/service/$timeout
我有一个带有自动注销功能的 ionic 应用程序。当用户执行任何操作时,我需要延长会话超时时间。我将剩余时间存储在本地存储中(使用 localStorageService)。
我可以在用户更改屏幕或单击按钮时延长时间,但我不确定如何在其余元素上执行此操作。
我只需要一种方法来捕捉任何动作(点击背景、关注元素、按下按钮)等。最简单的方法是什么?谢谢
您应该能够监听 touchend
事件,并保持超时;像这样:
.controller("AppCtrl", function ($scope, $timeout) {
var timeoutPromise,
$body = document.querySelector("body");
function logout () {
// do logout work here
}
function resetTimer () {
$timeout.cancel(timeoutPromise);
timeoutPromise = $timeout(logout, 60000); // log out after 60 seconds
}
ionic.on("touchstart", resetTimer, $body);
ionic.on("touchend", resetTimer, $body);
resetTimer();
});
一些来源:
http://ionicframework.com/docs/api/utility/ionic.EventController/ https://docs.angularjs.org/api/ng/service/$timeout