入力キーの種類を調べることができる jQuery プラグイン

Keyinfo は、入力キーの種類を調べることができる jQuery プラグインです。 jQuery Utility Kit の一機能として、もしくは単独の jQuery プラグインとして使用することができます。

変更履歴

  • v0.1.1
    • IE8 以下でエラーになる不具合対応

使い方

jQuery、jQuery Utility Kit(または Keyinfo)の JS ファイルを読み込みます。

  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  2. <script src="jquery.utility-kit.js"></script><!-- または jquery.keyinfo.js -->

keydown イベント等で取得できる入力キーコードの種類を調べることができます。 以下の例では、number-only クラスを持つ入力フィールドに対し、数字と BS / DEL 等の制御キー(エンターキーは除く)のみの入力を受け付けるようにしています。

  1. $('body').on('keydown', 'input.number-only', function(evt){
  2. return evt.keyCode != $.keyinfo.ENTER // エンターキー以外?
  3. && ($.keyinfo.isNUMBER(evt.keyCode) || // 数字キー?
  4. $.keyinfo.isCONTROL(evt.keyCode)); // 制御キー?
  5. });

キーコードは $.keyinfo.ENTER のように記述し、以下種類のものを参照できます。

  • BS
  • TAB
  • ENTER
  • SHIFT
  • CTRL
  • ALT
  • ESC
  • LEFT (左矢印キー)
  • UP (上矢印キー)
  • RIGHT (右矢印キー)
  • DOWN (下矢印キー)
  • DEL

以下のよう isキー名() とすることでメソッドで判別することもできます。

  1. if($.keyinfo.isENTER(event.keyCode){ ...

また、定義済みキーコード以外に、以下のメソッドも使用できます。

  • isNUMBER( keyCode )
    • キーコードの値が数字の場合 true を返す。
  • isCONTROL( keyCode )
    • キーコードの値が制御コードの場合 true を返す。

ダウンロード

こちらからどうぞ。