JavaScriptでホットキーを処理する

私のプロジェクトでは、ホットキーを使用してコンテンツを管理したいと考えていました。 私はescをクリックしました-ダイアログボックスは閉じ、ctrl +左-次のセクションが開きました... Google-Yandexを駆け巡り、理想を見つけられずに、ソリューションを書くことにしました。

今、私はそれを持っています-他のライブラリから独立した、小さくて軽い。

javascriptファイルを含めて書くだけで十分です

$e( 'ctrl esc' ).bind( "alert('');" );





準備ができたjavascriptはここで取得できます

UPDコードの改善。 ありがとう、 ええaubt



機能の詳細



関数$ e()



$ e(param0 [[、param1 [、param2 ...]])

この関数は、アクションをハングさせるホットキーのリスト(大文字と小文字を区別しない、スペースまたは「+」で区切られた)を受け入れます。

理解:alt、shift、ctrl、meta、esc、enter、up、down、left、right、tab、space、pageup、pagedown、home、end、latin letter(a-zA-Z)、number(0-9 )、文字コード(10-128);

さらに、特別な単語keyup、keydown、keypressがあり、応答するアクション(デフォルトではkeyup)を示します。

ブラウザは、その種類に応じて、イベントをトリガーする場合とトリガーしない場合があることに注意してください。

コンテキストを返します。



例:

$e( 'esc' )

$e( 'keyup Ctrl+left' , 'meta left keyup' )










関数.bind()



.bind(パラメーター)

$ e()関数によって渡されるキーボードショートカットに割り当てられた関数またはJavaScriptを受け取ります。



例:

$e( 'esc' ).bind( 'alert("!")' )

$e( 'keyup Ctrl+left' , 'meta left keyup' ).bind(do_foo)










関数.unbind()



.unbind([param])

$ e()関数によって渡されたキーボードショートカットからアクションをアンバインドします。

パラメーターが空の場合、すべてのアクションはこの組み合わせから解放されます。



例:

$e( 'esc' , 'keyup Ctrl+left' , 'meta left keyup' ).unbind()







関数$ e.start()



キーのリッスンを開始します。

.bind()関数を使用すると、リスニングも自動的にオンになります。



関数$ e.stop()



キーのリッスンを停止します。



*このソースコードは、 ソースコードハイライターで強調表示されました。




All Articles