2013-03-30 13 views
6

Chcę zasymulować zdarzenie keypress za pomocą konsoli JavaScript. Widzę wiele odpowiedzi za pomocą elementu wejściowego. Nie chcę używać elementu wejściowego. Chcę tylko wkleić jakiś kod do konsoli JavaScript i symulować symulowane zdarzenie keypress (szczególnie przycisk "back space").Symulowanie zdarzenia keypress z konsoli JavaScript

Odpowiedzi przy użyciu jQuery są mile widziane.

+1

duplikat [Symulacja JavaScript Najważniejsze wydarzenia] (http://stackoverflow.com/questions/596481/simulate-javascript-key-events), ponieważ wyzwalania naciśnięcie klawisza z poziomu konsoli przeglądarki lub kodu JavaScript na stronie jest równoważne (i zabronione ze względów bezpieczeństwa, patrz odpowiedź na oryginalne pytanie). –

Odpowiedz

17

jQuery ma metodę .keypress nie przyjmującą żadnych argumentów symulujących naciśnięcie klawisza.

$("#target").keypress(); 

Czy wywoła naciśnięcie klawisza na #target

Jeśli chcesz także wybrać, który klawisz został naciśnięty, można użyć .trigger. Ten przykład jest od docs:

var e = $.Event("keydown", { keyCode: 8}); //"keydown" if that's what you're doing 
$("body").trigger(e); 

Kod klucz 8 jest key code for backspace w JavaScript.

Daj mi znać, jak to działa dla ciebie :)

+0

Czy możesz sformatować go tak, aby nic nie wymagało kliknięcia? Chcę w łatwy sposób sprawdzić, czy inne urządzenia mają to włączone, wklejając kod do konsoli, gdy urządzenie jest w trybie debugowania. –

+0

W tej odpowiedzi nie trzeba niczego klikać. Możesz po prostu umieścić $ ("# target"). Keypress(); w twojej konsoli (prawdopodobnie pod koniec wklejonego kodu) i wywoła to zdarzenie keypressa –

+0

Nie rozumiem, jaki klawisz jest naciskany na przykład? Nie musisz przechodzić przez numer dla określonego klucza? –