Как я могу сделать пресс-событие с Javascript (JQuery, Dojo)? - PullRequest
0 голосов
/ 22 сентября 2011

на сенсорном экране.

  • Если я удерживаю нажатой в центре экрана в течение 20 секунд, я хочу показать предупреждение («Это секретное окно»);

  • Если я нажимаю в течение 5 секунд каждый угол сенсорного экрана следующим образом: верх / левый верх / правый нижний / правый нижний / левый, отображается предупреждение («Это более секретное окно»);

Как мне сделать это в jQuery / Dojo или Mootools или в простом Javascript? Кто-нибудь когда-либо делал это? Я не нахожу никакого "нажатого" события с установленным временем.

Примечание: будет также много обычных входов для прессы, поэтому я хочу сделать это оптимизированным образом для действий в реальном времени, кроме этих двух.

1 Ответ

2 голосов
/ 22 сентября 2011

Вам нужны два обработчика событий и таймер.

// Put this lot in a closure so you don't pollute the global namespace.
(function () {
    var timer;
    function onTouchStart() {
        timer = setTimeout(doTheThing, 20*1000);
    }
    function onTouchEnd() {
        clearTimeout(timer);
    }
    function doTheThing() {
        alert('foo')
    }
})();

Привязка onTouchStart / End к соответствующим событиям на соответствующих элементах.

См. рабочий пример изменено для работы с кнопкой мыши и на 5 секунд (потому что 20 - это слишком много времени, чтобы торчать для этого теста).

...