-->

Listen to keypress in HTML/JavaScript on iOS/Safar

2020-05-23 20:19发布

问题:

I have the following setup:

  • iPad with Safari browser running a webb-application.
  • Bluetooth barcode-scanner connected/paired with the iPad.

My web-application listens to keypress events globally which gives me the possibility to trigger scan functions without having the user to focus a textfield in the webb-application.

The above works fine when running the application on a desktop with an USB-scanner.

My problem is that the application doesn't trigger keydown(press/up) events until a textfield is focused on the iPad when the bluetooth-scanner is connected.

Is it possible to achieve?

A related question from a while ago: How can I add a Javascript listener to capture input from bluetooth barcode scanner to iPad?

Thanks /E

回答1:

I believe that with mobile Safari (and most other iOS mobile browsers), keypresses are only detectable by the web app when a form input is infocus. Your device (without an external keyboard) can't take keypress input without a form input being selected simply because the keyboard would not be up.