2011-10-26 8 views
0

jQueryのもの(http://plugins.jquery.com/plugin-tags/caps-lock)を含む多くのソリューションがあります。タイプされた文字が大文字であるかどうかを確認し、シフトキーを押したとします。そうでない場合は、キャップロックがオンになります。Shiftキーを押しながら入力したものと比較せずにjavascriptでcaps lockを検出する方法はありますか?

これは私が望むものではありません。 GMail.comに行き、パスワードフィールドにカーソルを置きます。キャップを押すとすぐにロックされます。あなたは何かをタイプする必要はありません。

これは私が探しているものです。

押されたキーは、キャップが onkeydownイベントでキーをロックしているかどうかをチェックすることができます
+3

Macをお使いの場合は、OSの機能であり、ウェブサイトではありません。 –

+0

@MattBall:ええ、私は彼がMacにいると推測しています.Win 7のChrome 14ではそれができません。 –

答えて

2

:入力にフォーカスを移動するときに、ユーザーがすでにキャップがロックを有効にした場合、これは助けないこと

element.onkeydown = function() { 
    var evt = arguments[0] || window.evt, 
     key = evt.which || evt.keyCode; 

    if (key == 20) { 
     alert("Caps lock pressed"); 
    } 
} 

注意(私は確かにそれが検出できないと確信しています)、それは警告IMOを表示するためのより実用的な使用例です。

しかし、コメントに指摘されているように、パスワードフィールドに焦点を当てながらキャップをロックすると、オペレーティングシステムやブラウザの中にはネイティブに警告が表示されます。 GMailはWin 7では私のためではないので、JavaScriptで書いたものだとは思わない。

+0

これはすべてのプラットフォームでcaps lockが機能しません – aquraishi

関連する問題