$(document).keydown(function(e){
if (e.keyCode == 37) {
move("West");
return false;
}
if (e.keyCode == 38) {
move("North");
return false;
}
if (e.keyCode == 39) {
move("East");
return false;
}
if (e.keyCode == 40) {
move("South");
return false;
}
});
function move(newDirection)
{
var direction = newDirection;
$.ajax({
type: "POST",
url: "ajax/map.php",
data: { direction: direction },
success: function(data) {
$('#content').html(data);
}
});
}
Если я держать нажатой левую клавишу а, в то время как слишком долго, то вызов будет продолжать прибывать и прибывать, и он (не остановится) Я ищу, чтобы сделать некоторую задержку, или просто просто сделайте один звонок, когда нажата клавиша (или, возможно, мгновенно остановитесь при отпускании клавиши). Но я не уверен, как это сделать. Любые предложения по решению?Прекратить вызов Ajax
Мне бы хотелось, чтобы он прекратил вызов, когда ключ освобожден (но мгновенно не делает больше вызовов). Поскольку, если я держусь за бит, персонаж будет продолжать двигаться, может возникнуть какая-то задержка? Или просто остановитесь мгновенно. – John
Отличный пример, но он работает только один раз. Тогда я не могу двигаться, когда пытаюсь. – John
Примите во внимание, что в примере один клик, скорее всего, ничего не сделает, поскольку сценарий будет прерван до того, как он получит возможность получить ответ ajax. – iMoses