Top > 開発ガイド > Spinelzリファレンス > Shortcut Manager

Shortcut Manager

概要

  • キーボードの各キーにJavaScriptのコールバック関数を割り当てます
  • Alt・Ctrl・Shiftの組み合わせにも対応しています
  • 一時的に機能を停止することも可能です(入力ボックスのフォーカス時に停止する等)

利用方法

<script type="text/javascript" src="/path/to/javascripts/spinelz_lib/prototype.js"></script>
<script type="text/javascript" src="/path/to/javascripts/spinelz_lib/scriptaculous.js"></script>
<script type="text/javascript" src="/path/to/javascripts/spinelz_lib/spinelz_util.js"></script>
<script type="text/javascript">
  var sm = new ShortcutManager();
  sm.add('enter', function() {alert('Enter is pressed.');});
</script>

オプション

オプション名デフォルト値説明
initialStartedtrue初期状態でショートカットを有効にするかどうかを指定します
preventDefaulttrueコールバック関数を割り当てたキーのデフォルト動作を無効にするかどうかを指定します

API

add(key, function)

ショートカットキーを追加します。

第一引数:String

コールバック関数を割り当てたいキーを指定します。割当可能なキーは数字(0-9)・英字(a-z)、 ファンクションキー(f1-f12)・Enter、Space、Tab、Backspace等の特殊キーです。 Alt・Shift・Ctrlと組み合わせる場合は「+」で連結して下さい。

第二引数:Function

実行するコールバック関数を指定します。

Ex)

var sm = new ShortcutManager();
sm.add('enter', function() {alert('Enter is pressed.');});
sm.add('Ctrl+Shift+1', function() {alert('[Ctrl&Shift] 1 is pressed.');});
sm.add('Alt+f1', function() {alert('[Alt] F1 is pressed.');});

remove(key)

ショートカットキーを削除します。

start()

ショートカット機能を有効にします。

stop()

ショートカット機能を無効にします。

サンプル

<html>
  <head>
    <script type="text/javascript" src="/path/to/javascripts/spinelz_lib/prototype.js"></script>
    <script type="text/javascript" src="/path/to/javascripts/spinelz_lib/scriptaculous.js"></script>
    <script type="text/javascript" src="/path/to/javascripts/spinelz_lib/spinelz_util.js"></script>
    <script type="text/javascript">
      var sm = new ShortcutManager();
      sm.add('enter', function() {alert('Enter is pressed.');});
      sm.add('backspace', function() {});
    </script>
  </head>
  <body>
    <form>
      <textarea cols="5" rows="20" onfocus="ShortcutManager.stop();" onblur="ShortcutManager.start();">入力フォーム</textarea>
    </form>
  </body>
</html>