gpt4 book ai didi

javascript - HTML5;在 Javascript 中检测物理键盘的存在

转载 作者:太空狗 更新时间:2023-10-29 13:44:42 24 4
gpt4 key购买 nike

检测用户是否有物理键盘的最可靠方法是什么?

一个想法是,由于没有物理键盘,window.onkeydown 可以是undefined(而不是null)。但是由于虚拟键盘,我认为情况并非如此。不过我没有测试。

我的目标是拥有 Online Timerinput[type='number']如果用户没有键盘,将替换为滚轮选择器。

最佳答案

对于像 Microsoft Surface 这样带有键盘、鼠标和触摸屏的设备,这真的很棘手。您可以在任何给定时间混合所有 3 种输入模式,或添加其他输入法,如手写笔。

Microsoft 正在采用将输入事件抽象为“指针事件”的方法。此款has been submitted to the W3C .这应该让您了解管理输入的趋势。

不过,我发现查看触摸是否可用并在假定(如果可用)用户至少会在某些时候使用触摸输入的情况下进行操作很方便。这可能导致设计决策消除完全不适合触摸的东西,即使这可能意味着在鼠标/键盘功能上做出妥协。

在您的具体情况下,我会仔细研究您是否需要用自定义控件替换 input[type=number]。大多数触摸设备都相当现代,并且许多具有标准 HTML 输入的自定义、触摸友好版本。

还要记住 native 控件可能支持“开箱即用”的可访问性场景。

如果您决定实现自定义控件,那么我会建议检测触摸功能并显示您的自定义控件是否存在其他输入机制。这意味着确保自定义控件(至少)对触摸/键盘/鼠标友好。

这是我当前的触摸测试(免责声明它明天可能会崩溃,当然还没有在所有设备上进行测试):

var supportsTouch = ("ontouchstart" in window) || window.navigator.msMaxTouchPoints > 0;

关于javascript - HTML5;在 Javascript 中检测物理键盘的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16203050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com