2017-02-25 39 views
5

Nie testowałem tego jeszcze na Androida, ale na iOS wiem na pewno, że nie działa.Jak odznaczać pole wprowadzania po dotknięciu klawisza powrotu na klawiaturze mobilnej (iOS)

Mam pole wprowadzania, w którym można pisać rzeczy. Chcę odznaczyć (usunąć fokus) pole wejściowe, gdy ktoś dotknie "wprowadź" na natywnej klawiaturze iOS ... ale to nie działa. Po prostu skupia się na polu wprowadzania, a ja chcę pozbyć się fokusu na polu wprowadzania.

Używam języka Angular/HTML/Ionic/pure JavaScript. Mam dużo pól wejściowych, więc używam nazw klasowych. Czy istnieje sposób, aby to osiągnąć?

enter image description here

Widać tu i pól wejściowych pod klawiaturę.

+0

Dlaczego chcesz usunąć fokus? Czy klawiatura pozostaje otwarta? A może chcesz się skupić na innym elemencie? Czy użyłeś elementu '

' w HTML? – e666

+0

Cześć. Chcę usunąć fokus, ponieważ wszystko mam rozmyte, gdy skupiam się na polu wprowadzania. Aby pozbyć się rozmycia, potrzebuję ludzi, aby wpisali/dotknęli klawiaturę, aby mogli zobaczyć wyniki wyszukiwania. I nie, nie używam elementu formularza. To zwykłe pole wprowadzania poza formularzem. – Siyah

+0

Czy próbowałeś czegoś? –

Odpowiedz

5

Możesz po prostu wysłuchać zdarzenia keydown w polu wprowadzania i sprawdzić, czy zdarzenie to keyCode ma 13 (kod dostępu). W takim przypadku można po prostu zadzwonić pod metodę blur() elementu wejściowego.

Wyglądałby jak this.

+0

Dzięki ... jeszcze używam nazw klasowych i to nie działa w ten sposób ... Czy mógłbyś podać przykład z tym też? Zrobiłem to: https://codepen.io/anon/pen/JWKOao – Siyah

+0

Musisz obsłużyć zwracaną wartość getElementsByClassName() jako tablicę. https://codepen.io/Siphalor/pen/bqeaGj?editors=1111 – Siphalor

+0

Cudownie! Czy możemy to zrobić bez konieczności używania "onload" btw? – Siyah