Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переписать функцию без jquery (https://javascript.ru/forum/misc/76835-perepisat-funkciyu-bez-jquery.html)

Artur_Hopf 19.02.2019 11:19

Переписать функцию без jquery
 
Добрый день, есть функция которая смотрит делает ли что то пользователь:
var idleTimer = null;
var check = true;
$(document).bind('mousemove keydown scroll', function(){
        clearTimeout(idleTimer);
        if(check){
            idleTimer = setTimeout(function(){
                console.log('прошло 60 секунд как пользователь ничего не делал'); 
                check = false;
            }, 60000);
        };
});

Хотел переписать используя метод addEventListener, но не пойму как использовать все три события:
var idleTimer = null;
var check = true;
document.addEventListener('mousemove', function(){
        clearTimeout(idleTimer);
        if(check){
            idleTimer = setTimeout(function(){
                console.log('прошло 60 секунд как пользователь ничего не делал мышкой'); 
                check = false;
            }, 2000);
        };
});


Подскажите пожалуйста как правильно переписать функцию без jquery?

Nexus 19.02.2019 11:25

var idleTimer = null;
var check = true;

var listener = function() {
    clearTimeout(idleTimer);
    if (check) {
        idleTimer = setTimeout(function() {
            console.log('прошло 60 секунд как пользователь ничего не делал мышкой');
            check = false;
        }, 2000);
    };
};

document.addEventListener('mousemove', listener);
document.addEventListener('keydown', listener);
document.addEventListener('scroll', listener);

Artur_Hopf 19.02.2019 11:42

Nexus,
Спасибо большое :thanks:

рони 19.02.2019 12:25

Цитата:

Сообщение от Artur_Hopf
var check

зачем?

Artur_Hopf 19.02.2019 13:14

рони,
один раз только чтобы сработало, наверное.


Часовой пояс GMT +3, время: 21:43.