检测长按键盘键(Ionic,Android)
Detect long press on keyboard key (Ionic, Android)
我有一个 Ionic (5) 应用程序,我想在应用程序 运行 在移动设备上运行时检测按键(键盘)的长按(我正在 [=24] 上测试=]).
我将 (keyup)
和 (keydown)
添加到 ion-input
,当我 运行 浏览器上的应用程序时,我能够获得第一个之间的时差keydown 事件(如果我长按一个键,keydown 会触发多次)和我在释放键时收到的单个 keyup 事件。
不幸的是,此解决方案不适用于移动设备 (Android),我只收到一个几乎同时触发的 keydown 事件和一个 keyup 事件,即使我按下 enter 键更多不到 5 秒左右。
我认为不需要任何代码,因为这更像是一个概念性问题。
如何检测移动键盘上的长按?
在 android 中,这是行不通的。这不是键盘界面的发生方式。总的来说,键盘实际上不会在 Android 中发送按键事件。他们发送 commitText 消息,它只是将一个字符串发送到文本字段。任何将它变成按键和按键事件的东西都在 Ionic 框架中。由于键盘不发送按键事件,应用程序无法知道他们按下按钮的时间。他们的键盘不发送该信息。因此,生成关键事件的 Ionic 框架也无法为您提供该信息,没有可供其推断的数据。
您将不得不想出不同的用户体验设计,这在 Android 上永远行不通。
我有一个 Ionic (5) 应用程序,我想在应用程序 运行 在移动设备上运行时检测按键(键盘)的长按(我正在 [=24] 上测试=]).
我将 (keyup)
和 (keydown)
添加到 ion-input
,当我 运行 浏览器上的应用程序时,我能够获得第一个之间的时差keydown 事件(如果我长按一个键,keydown 会触发多次)和我在释放键时收到的单个 keyup 事件。
不幸的是,此解决方案不适用于移动设备 (Android),我只收到一个几乎同时触发的 keydown 事件和一个 keyup 事件,即使我按下 enter 键更多不到 5 秒左右。
我认为不需要任何代码,因为这更像是一个概念性问题。
如何检测移动键盘上的长按?
在 android 中,这是行不通的。这不是键盘界面的发生方式。总的来说,键盘实际上不会在 Android 中发送按键事件。他们发送 commitText 消息,它只是将一个字符串发送到文本字段。任何将它变成按键和按键事件的东西都在 Ionic 框架中。由于键盘不发送按键事件,应用程序无法知道他们按下按钮的时间。他们的键盘不发送该信息。因此,生成关键事件的 Ionic 框架也无法为您提供该信息,没有可供其推断的数据。
您将不得不想出不同的用户体验设计,这在 Android 上永远行不通。