在角度/离子应用程序中单击任意位置/按钮按下/输入焦点

时间:2016-01-07 09:55:13

标签: javascript android angularjs ionic

我是一款具有自动注销功能的离子应用。当用户执行任何操作时,我需要延长会话超时。我将时间留在localstorage中(使用localStorageService)。

当用户更改屏幕或单击按钮时,我可以延长时间,但我不知道如何在其余元素上执行此操作。

我只需要一种捕捉任何动作的方法(点击背景,专注于元素,按下按钮)等。最简单的方法是什么?感谢。

1 个答案:

答案 0 :(得分:2)

你应该能够监听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