jQuery.keyboard v0.1.0



アクティブなキーボード制御を必要とする少なくとも2つのプロジェクトを念頭に置いています。 したがって、私は座ってjQueryの便利で美しいプラグインを作成しました。これはLGPLの無料ライセンスの下で公開されています。



最初は、jQueryをほとんど使用せずに作成しましたが、開発のほぼ終わりに、すべてをプラグインとして書き直しました。 実際、私はプロジェクトでこのフレームワークを積極的に使用しているため、より便利です。 jQueryを使用せずに作業する人のために、以前の作業を残しましたが、提出する必要があります。 誰かがそれを美しくすれば、誰もが彼に感謝すると思う。



これは私の最初のjQueryプラグインなので、健全な批判を歓迎します。 おそらく私は何か間違ったことを書いた-パッチの形での修正は受け入れられます。



$( document )

.
keyboard ( '5' , function () {

alert ( '5' );

})

.
keyboard ([ 'ctrl' , 'alt' ], function () {

alert ( 'ctrl alt' );

})

.
keyboard ([ 'x' , 'c' , 'v' ], function () {

alert ( 'just xcv' );

},
true /* If only this keys are active */ );



$(
'textarea' ). keyboard ( 'ctrl enter' , sendmsg );



//

$( document ). keyboard ( 'ctrl alt' );






私の意見では、すべてが非常にシンプルで明白です。

3番目のパラメーターはブール値-単一です。 1(true)が送信された場合、必要なキー以外のキーが押されたかどうかを確認するためのチェックが行われます。 たとえば、「ctrl-enter」が選択されています。 ユーザーが「ctrl-alt-enter」をつまむ。 このパラメーターがない場合、アクションが実行されます;パラメーターがtrueの場合、アクションは実行されません。

渡されたパラメーターまたは配列要素のタイプが数値である場合(数値を含むストリングではない場合)、event.keyCodeと見なされます。

エントリ「['key1'、 'key2']」および「 'key1 key2'」は同等です



未解決の問題



1.ユーザーが押されたキー(たとえば、「シフト」)を保持している場合、他のキーが押されると、このキーでハングアップするアクション(この場合は「シフト」)が実行されます。 これは3番目のパラメーターをtrueに設定することによりますが、より美しいソリューションを考え出す必要があります。



参照資料

Googleコードプロジェクト

デモ

次のバージョンの議論

アーカイブのソースには、jQueryを使用しない私の成果があります



All Articles