2

I have a web-based login form, and I want to notify the user if their Caps Lock key is on, especially when they're typing their password. How can I do this?

Something like: User types username, then focuses on password then if caps lock key is on, a tooltip or popup shows telling the user that caps key is on

4

4 に答える 4

1

このプラグインを試してみてください。テキスト ボックスまたはウィンドウ全体でキャップス ロックの状態を監視できます: https://github.com/nosilleg/capslockstate-jquery-plugin

于 2013-04-25T03:05:41.327 に答える
0

キー イベントの現在の標準はなく、Caps Lock キーの状態を示すイベント プロパティはないようですが、将来提供される可能性があります。

Caps Lock をテストするための唯一の合理的に信頼できる方法は、キーコードが大文字であり、シフトキーが押されていないかどうかを確認することです。

function capsLockOn(e) {
  var code = e.keyCode || w.which;

  if (code >64 && code < 97 && !e.shiftKey) {
    return true;
  }
  return false;
}

一部のキーボードでは、Caps Lock はキー a から z にのみ影響するため、他のキーを確実にテストすることはできません。Caps Lock キーを押してもキーイベントは開始されず、イベントを開始する前に Caps Lock がオンになっている可能性があるため、とにかく確実に機能しません。

または、簡潔にしたい場合:

function capsLockOn(e) {
  var code = e.keyCode || w.which;
  return code > 64 && code < 97 && !e.shiftKey || void 0;
}
于 2013-04-25T03:21:13.373 に答える