2009-10-21 22 views
18

Próbuję symulować rzeczywiste naciśnięcie klawisza tabulacji w JavaScript. Nie chcę skupiać się na następnym elemencie lub czymś w tym stylu, chcę tylko sprawić wrażenie, jakby naciśnięto klawisz tabulatora.Zdarzenie klawisza tabulacji pożaru w JavaScript?

Powodem jest to, że buduję formularz klasy JavaScript, gdzie chcę móc korzystać z klawisza Enter, tak jak w przypadku karty. Jeśli ktoś korzysta z autouzupełniania natywnej przeglądarki, muszę zwolnić klawisz tabulatora, aby przechwycić wybraną odpowiedź autouzupełniania. Jeśli po prostu przejdę do następnego wejścia, nie przechwyci on ich wyboru autouzupełniania i pozostawi puste pole.

Jakieś myśli?

+0

>> Nie chcę się skupić na kolejnym elemencie lub coś podobnego MHMM, ale to się stało, kiedy Naciskam klawisz Tab. Kolejny element, który można skupić, skupia się na tym. –

Odpowiedz

23

Nie sądzę, że to możliwe; article about DOM events here ... wspomina, że ​​wyzwalanie zdarzenia nie powoduje domyślnego wyniku działania użytkownika, ze względów bezpieczeństwa; skrypt nie powinien być w stanie bezpośrednio symulować interakcji użytkownika. Będziesz musiał symulować zachowanie, które powoduje naciśnięcie klawisza (np. Skupienie na polu), zamiast próbować symulować naciśnięcie klawisza. Prawdopodobnie nie będziesz w stanie wchodzić w interakcję z natywną funkcją autouzupełniania przeglądarki, chyba że przeglądarka wyraźnie udostępni ci taką możliwość.

Edit:

zobacz także: [https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete] (atrybut autouzupełnianie HTML)

+0

Twoje prawo, zgadnij, nie możesz! ** _: (_ ** –

+0

Zapora, której potrzebuję, Mam problem z podobizną .. http://stackoverflow.com/q/33261996/1356321 – Pomster

Powiązane problemy