我一直在思考这个问题,我无法想办法解决这个问题.有没有办法检测用户是使用虚拟(软件)键盘还是传统(硬件)键盘?
新的Windows Surface在封面上有自己的键盘,对于Android/iPad,有大量不同的蓝牙键盘.
那么,你们中有人对此有任何意见吗?
我的目标是Android,IOS和Windows平板电脑/手机.
动机:(非常主观)
在开发平板电脑/智能手机的网络应用程序时,我已经认识到在许多情况下使用JavaScript键盘而不是操作系统的软件键盘会更容易.
假设您要输入PIN码.而不是让键盘填满屏幕的一半:
软件(OS)键盘:
|----------------|
| [ input] |
| |
|----------------|
| 1 2 3 4 5 |
| 6 7 8 9 0 |
|----------------|
Run Code Online (Sandbox Code Playgroud)
JavaScript键盘:
|----------------|
| [ input] |
| | 1 2 3| |
| | 4 5 6| |
| |_7_8_9| |
| |
| |
|----------------|
Run Code Online (Sandbox Code Playgroud)
如果您需要处理大量输入,可能需要对输入进行叠加div并使用软件键盘:
|----------------|
| P1 P2 P3 P4 |
| [inp 1][inp 2] |
|----------------|
| KEYBOARD |
| | …Run Code Online (Sandbox Code Playgroud) 关于软键盘的讨论很多,但我还没有找到解决问题的好方法.
我有一个调整大小的功能,如:
$(window).resize(function() {
///do stuff
});
Run Code Online (Sandbox Code Playgroud)
我希望在所有调整大小事件中对该函数执行'stuff',除非它由软键盘触发.如何确定软键盘是否触发了调整大小?