javascript - 在 Angular/ ionic 应用程序中捕获任意位置的点击/按下按钮/输入焦点

标签 javascript android angularjs ionic-framework

我有一个具有自动注销功能的 ionic 应用程序。当用户执行任何操作时,我需要延长 session 超时。我将剩余时间存储在本地存储中(使用 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

关于javascript - 在 Angular/ ionic 应用程序中捕获任意位置的点击/按下按钮/输入焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34652096/

相关文章:

javascript - AngularJS - 我的指令之一不起作用,其他指令起作用吗?

angularjs - 使用 Wordpress REST API 通过 url 获取页面

Symfony2 使用 assetic 和 Angular HTML5 路由

javascript - 循环计时器背景颜色变化

android - Android 中的 Activity/动态壁纸通信

javascript - 如何存储复选框true/false的结果

android - 在 Android 中将 TextView 添加到 LinearLayout

android - 以前的 Android 响应被添加到状态行

javascript - React.js/CRA,如何从另一个文件调用或导入 javaScript 函数?

javascript - 如何正确使用map函数的索引来访问数组中的元素