Время между нажатием клавиши и ключом вверх - PullRequest
0 голосов
/ 04 февраля 2012

Итак, я пытаюсь найти время между моментом, когда пользователь нажимает клавишу T, и моментом, когда ключ отпущен. Я искал везде, но мне еще предстоит найти рабочее решение. Различные решения возвращают числа, но не правильные. Вот мой JavaScript:

var ky;
var start;
var end;

function keydown(e){
    ky = e.keyCode;
    if(ky==84){
        start = +new Date();
    }
}

function keyup(e){
    ky = e.keyCode;
    if(ky==84){
        end = +new Date();
        alert(end - start);
    }
}

В теге body у меня есть onkeydown = "keydown (событие)" onkeyup = "keyup (событие)"

И вместо того, чтобы возвращать миллисекунды между keydown и keyup и давать мне число от 20 до 200. Я не могу дать вам весь код, потому что он включает в себя много другого кода, который не является его частью. keyup и keydown

1 Ответ

1 голос
/ 04 февраля 2012

Я не знаю точно, что вы пытаетесь сделать, но автоповтор может испортить время, если вы удерживаете клавишу дольше, чем время автоповтора (обычно около 500 мс).Вы можете обойти автоматическое повторение с помощью кода, подобного следующему:

var start = 0;
function processKeyDown(e) {
    if (!start) {
        start = (new Date()).getTime();
    }
}

function processKeyUp(e) {
    var delta = (new Date()).getTime() - start;
    document.getElementById("time").innerHTML = delta + " ms";
    start = 0;
}

Вы можете увидеть, как это работает здесь: http://jsfiddle.net/jfriend00/AveZP/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...