Próbuję zrobić konsolę podobną do aplikacji, więc łapię wszystkie naciśnięcia klawisza w oknie i robię z nimi powiązane rzeczy (nie ważne). Problem jest w backspace. Mam następujący kod:Catching Backspace w Chrome i Firefox jest inny
$(window).bind("keypress",function(e){
var code = e.keyCode || e.which;
if (code == 8) {
a = $("#console").html();
$("#console").html(a.substring(0,a.length-1));
currentCommand = currentCommand.substring(0,currentCommand.length-1);
e.preventDefault();
}
Jednak w Firefoksie, zawartość #console
zostanie usunięty, ale Chrome nie wykonuje powyższy kod. Potrzebuję kompatybilnego rozwiązania dla różnych przeglądarek. czego mi brakuje?
Ponadto:
Jeśli używam keyDown/keyup zamiast naciśnięcia klawisza, nie jestem w stanie wykryć, czy characeter była 'A' lub 'a' zawsze zwraca 'A'.
Możliwy duplikat [JavaScript e.keyCode nie złapać Backspace/Del w IE] (http://stackoverflow.com/questions/4084715/javascript-e-keycode-doesnt-catch-backspace -del-in-ie) – Keelan
Tak, nie jest to dokładny duplikat, ale na to pytanie udzielono odpowiedzi. – Keelan