пожимание плечами

у выполнить цикл / действие, пока не будет нажата и не нажата клавиша. Я хочу остановить это действие и вызвать функциюgetKey, Кто-нибудь может подсказать, как это сделать?

function getKey(e) 
{
    var pressedKey;
    if (document.all)   { e = window.event; }
    if (document.layers || e.which) { pressedKey = e.which; }
    pressedCharacter = String.fromCharCode(pressedKey).toLowerCase();
    move(pressedCharacter);

}

document.onkeypress = getKey;

Я хочу, чтобы функция move () выполнялась непрерывно до тех пор, пока клавиша не будет нажата. если она нажата, я хочу повторно выполнить функцию move () с новым нажатым символом

Ответы на вопрос(1)

Решение Вопроса

как вы зацикливаетесь. Самый простой способ сinterval:

var interval = window.setInterval(function () {
    // do your thing, do your thing
}, 1000);

document.onkeypress = function () {
    if (/* some specific character was pressed */) {
        window.clearInterval(interval);

        // do some other thing, other thing
    }
};
 aWebDeveloper20 янв. 2011 г., 06:14
посмотрите на мой новый код и предложите мне, что я могу сделать
 deceze♦20 янв. 2011 г., 05:51
@Web Извините, что? "Пока персонажне нажал? "Другими словами,пока пользователь удерживает нажатой клавишухочешь, чтобы что-то случилось?
 aWebDeveloper20 янв. 2011 г., 05:54
я хочу, чтобы цикл выполнялся без остановки, но если пользователь нажал символ, то я хочу, чтобы он прекратил выполнение
 aWebDeveloper20 янв. 2011 г., 05:50
1000 является вторым или миллисекундным, но я хочу, чтобы он выполнялся вечно, пока символ не будет нажат (ps: функция перемещения имеет / устанавливает глобальную переменную с именем end, которая становится равной 1, если я прекращаю цикл) max, этот цикл может быть выполненным, скажем, 50 (фиксированное значение уже известно)
 deceze♦20 янв. 2011 г., 05:56
@ Web Это именно то, что он делает. Я добавил иллюстративный код для проверки конкретных символов, надеюсь, вы поняли идею. Вы не можете просто написатьfor или жеwhile цикл, который заморозит браузер. Вам необходимо периодически возвращать управление браузеру и планировать следующую итерацию цикла, используя интервал или тайм-аут! При необходимости вы можете сократить время ожидания до значения ниже 1000 (1 секунда).

Ваш ответ на вопрос