我想检测智能手机上的大写字母,它们有一个小箭头,基本上是一个大写字母。
我尝试搜索它,我所能做的就是如何在台式机上进行搜索,即:
$('input').keypress(function(e) {
var s = String.fromCharCode( e.which );
if ( s.toUpperCase() === s && s.toLowerCase() !== s && !e.shiftKey ) {
alert('caps is on');
}
});
Run Code Online (Sandbox Code Playgroud)
但这在智能手机上不起作用,我怎么能实现甚至有可能呢?
不可能在所有使用 HTML/JavaScript/jQuery 的智能手机上检测大写锁定。事实上,更进一步来说,值得一提的是,仅使用 HTML/JavaScript/jQuery 不可能可靠地检测所有智能手机的任何特定按键。例如,适用于 Android 的 Google Chrome 浏览器(不一定是本机 Android 浏览器)存在一个错误,无论按下哪个键,它都会返回 0 的按键代码。也许有一天这个问题会得到解决,但它从第一个版本开始就一直存在,并且已经持续了几年。
也许如果您的目标是特定的浏览器/智能手机集合,那么这对您来说就不是什么问题了。例如,坚持使用现有的 iOS、Windows Phone 8 和 Android 浏览器,但真正值得一提的是,没有涵盖所有这些浏览器的灵丹妙药解决方案。
如果您正在开发混合应用程序而不是网站(例如使用 PhoneGap),您可以选择使用本机插件来捕获按键并移交给 PhoneGap,以便您可以在 JavaScript/jQuery 中使用。
| 归档时间: |
|
| 查看次数: |
444 次 |
| 最近记录: |