Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js]Przerwij jeśli guzik zwolniony
szmerak
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

Ostrzeżenie: (0%)
-----


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

Ten post edytował szmerak 8.12.2011, 02:39:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 21:52