Opera Mobile не может сфокусировать ввод текста с помощью Javascript

Используя Opera Mobile (пробовал 9.5 и 10), я не могу поместить курсор в текстовое поле с помощью Javascript.

У меня есть сканер штрих-кода, поэтому я хотел, чтобы текстовое поле было автоматически сфокусировано, чтобы оно было готово к автоматическому вводу штрих-кода без необходимости нажатия пользователем. На самом деле необходимость нажатия не является проблемой, если сканер пытается сканировать, когда текстовое поле не находится в фокусе, Opera переходит на локальную страницу «Добро пожаловать в Opera», даже если настройки домашней страницы изменены.

Я пробовал:

Должен быть способ сделать это с помощью Opera Mobile. Все остальные Javascript работают без проблем.


person RandomCoder    schedule 19.04.2011    source источник
comment
Я столкнулся с этой проблемой только сегодня вечером: my.opera.com/community/ форумы/topic.dml?id=384311   -  person bodacious    schedule 11.09.2013
comment
Я не могу поверить, что они позволили этому промахнуться   -  person bodacious    schedule 11.09.2013


Ответы (1)


Я нашел решение для этого. Я использую приложение под названием ScanWedge, которое вставляет отсканированный штрих-код в текстовое поле, находящееся в фокусе. Проблема заключалась в том, что мне нужно было сфокусироваться на нем до того, как начнется сканирование.

В настройках ScanWedge есть возможность отправить префикс со штрих-кодом и возможность включить escape-последовательности в префиксе (должен быть включен), я просто использую префикс \x0D, что означает, что нажатие клавиши ввода отправляется перед штрих-кодом .

Это работает, потому что метод focus() выделяет текстовое поле, но не вставляет курсор, однако, если клавиша ввода нажата, когда текстовое поле выделено, курсор вставляется.

person RandomCoder    schedule 21.04.2011