0

「btnOne」という名前のボタンが付いた、Calculator という名前の基本的な HTML フォームがあります。私が欲しいのは、ユーザーがキーボードの「1」キーを押したときに、「btnOne」HTML ボタンの onClick イベントが発生することです。

これを達成するために、この関数をドキュメントの Head タグに配置しました。

<head>
     <SCRIPT LANGUAGE="JavaScript"> 

         //other functions...

        document.onkeydown = function(e){
            if (!e) e = window.event;
            if(e.keycode == '49') {
                document.Calculator.btnOne.click();
            }
            return false;
        }
      </SCRIPT>
</head>

このスニペットを間違った場所に置いているだけですか? 関数を実行するために他に何かする必要がありますか? 私は Web 開発の初心者で、自分が何をしているのかわかりません。もちろん、このボタンを機能させる方法を理解したら、他のすべてのボタンに if ステートメントを追加します。

4

1 に答える 1

2

これを書くためのはるかに簡単でクリーンな方法については、http://api.jquery.com/category/events/をチェックしてください。あなたが持っているものは基本的に正しいですが、DOMがロードされた後にイベントがバインドされるように、これをドキュメント準備完了イベントにラップすることをお勧めします。

jQuery を使用すると、コードは次のようになります

jQuery(function() {
    jQuery(window).keypress(function(e){
         if (e.which === 49) {
               jQuery("#btnOne").click();
         }
    });
})

これを実証する動作する JS Fiddle があります。

http://jsfiddle.net/HXYAD/

ただし、クリックのイベントハンドラーをパラメーター化された関数に抽象化して、

 jQuery('#btnOne').click(function(){
     //some code
 });

 jQuery('#btnTwo').click(function(){
     //some similar code
 });     
 jQuery('#btnThree').click(function(){
     //some more similar code
 });
于 2012-04-27T18:37:12.463 に答える