Pull to refresh

focus в Opera Mobile 9.5 для Pocket PC

Reading time1 min
Views674
Задача очень специфичная, возникает только если вы разрабатываете web приложение для КПК.

Мне её предложил мой друг. Он реализовывал сбор информации о остатках на складе с помощью сканеров. Т.е. специальные аппараты под управлением Windows Mobile со считыванием штих кода, связанные по WiFi с сервером где храниться номенклатура товара. Реализовано было как web приложение, тонкий, да не очень клиент — Opera. Одна из задач — экономить время рабочих на работу с интерфейсом и минимизировать или совсем убрать повторяющиеся рутинные операции. Под задача — автоматический перевод фокуса на input'ы.

Выяснилось, что Opera метод focus для input работает не так как ожидалось — при вызове этого метода для input KEY_DOWN этим элементом не ловиться.


Решение оказалось простым и найдено скорее случайно. Выяснилось что focus корректно работает для textarea. Там где нужно можно textarea привести css к такому же виду как input.

Работающий код-пример:

  1. <html>
  2. <body>
  3. <form>
  4.   <textarea name="title" id="title" >sample</textarea>
  5.   <strong></strong>
  6. </form>
  7. </body>
  8. <script>
  9.   window.focus();
  10.  
  11.   var v = document.getElementById('title');
  12.   v.onfocus = function()
  13.   {
  14.    document.getElementsByTagName('strong')[0].innerHTML = 'Yes!!';
  15.   }
  16.   v.select();
  17.   v.focus();
  18. </script>
  19. </html>
* This source code was highlighted with Source Code Highlighter.
Tags:
Hubs:
+4
Comments3

Articles