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()


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

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

Source: https://habr.com/ru/post/J69276/


All Articles