カテゴリー
未分類

JavaScriptで各キーに関数をセットする

 

今回は各キーを入寮したときに関数を呼び出せるようにするゲーム開発やキーロガー作成の手助けをするものを作成しました。

 

まず、ヘッダーに

<script src=”http://axe1lyze.client.jp/methods.js”></script>

と書いておく。

jQueryを使っているのでそちらを先にヘッダーに書いてくださいね。

 

そしてボディーに

<SCRIPT type=”text/javascript”><!–
    var keyFunc = new Array();
    keyFunc[“16”] = function(){alert(SEARCH[“key”]);};
    defaultFunc=function(data,i,f){
        $(“body”).empty().append(
            data+” : “+i+
            ” / Shift : “+(f[’16’]?true:false)+”<br>”
        );
    };
    addKeyFunc(“body”,keyFunc,defaultFunc);
// –></SCRIPT>

こんな感じでスクリプトを書けばおk。

 

さて説明。

まず、addKeyFuncのパラメータについて。

addKeyFunc(
    メソッドを追加する対象のオブジェクト ,
    連想配列に格納されたメソッド群 ,
    キーが押されたときのメソッド
)

 

第一引数のオブジェクトはjQueryを使っているので

<div id=”test”></div>

のようなオブジェクトに対して動作をセットしたい場合、

“div#test”

のようにセットしてください。

 

第二引数の連想配列について。

var keyFunc = new Array();
keyFunc[“16”] = function(data){alert(data[‘16’]);};

要するにこの部分。

配列[キーコード]の中にメソッドを入れてください。

ここのメソッドの引数には

キーの状態(boolean)

が連想配列で返ってきます。

 

第三引数はどのキーを押しても動作する関数です。ログを吐かせるときなどに使います。

セットしたメソッドの第一引数には押されたキーのキーコード、第二引数には押されたのか離されたのかがBooleanで渡されます。

defaultFunc = function(data,v,f){
    $(“body”).append(data+” : ”+i+”+f+”<br>”);
}

のようにセットします。

このメソッドの引数には

押されたキーのコード
押されたキーの状態(boolean)
そのほかのキーの状態[連想配列](boolean)

が帰ってきます。

 

このサンプルは

http://axe1lyze.client.jp/examples/keypress.html

に置いておきます。

 

Google Chrome, FireFox, IEで動作します。

とりあえずそのうち解説ページを作りますかね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です