Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js]Przerwij jeśli guzik zwolniony
Forum PHP.pl > Forum > Po stronie przeglądarki
szmerak
Cały system działa tak...

keydown <- wywołaj funkcje move
funkcja move odpala inną checker za każdym razem
checker sprawdza czy guzik zwoniony czyli keyup->if(key.keyCode) -> ustaw zmienna isPressed na false
pozniej funkcja move leci dalej i dociera do warunku isPressed == true ? wykonaj funkcje i setTimeout('ta sama funkcja', 500)
i w kółko tak samo aż do momentu gdy guzik zostanie zwolniony i isPressed zostanie ustawione na false...

wydawało by się to wszystko piękne rozwiązane ale nie działa niestety... Próbowałem już chyba na wszystkie sposoby nie wiem już sam.
A dokładniej opisze problem po kliknięciu strzałki w prawo funkcja moveRight wykonuje się non-stop... niezaleznie czy trzymam czy puszcze...
A inny sposób był jeszzcze gorszy... JS cachuje każdy klik i kolejka po puszczeniu klawisza jest długa... dla przykładu przytrzymam teraz a "aaaaaaaaaaaaaaaaaa" <- coś takiego
Jak to spowolnić?

Edit i dodam jeszcze że isPressed to zmienna globalna
kamil4u
Zablokuj wykonanie "podstawowych" operacji:
1. <input value="" onkeydown="return false;">
lub
2. <input value="" id="test">
<script>
document.getElementById('test').onkeydown = function( e ){
e = e || event;
e.preventDefault();
}
</script>

Nie wiem o co dokładnie Ci chodzi, ale może to Ci coś podpowie...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.