1

これは私のコードです:

<script type="text/javascript" language="javascript">
    $(document).ready(function() {
        // esc -------------------------------------------
        $(document).bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
        $('#txbLct').bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
        $('#txbQty').bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
        $('#btnOk').bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
        $('#OboutImageButton1').bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
        // down ------------------------------------------
        $(document).bind('keyup', 'down', function(event) { myClick('btnNext'); });
        $('#txbLct').bind('keyup', 'down', function(event) { myClick('btnNext'); });
        $('#txbQty').bind('keyup', 'down', function(event) { myClick('btnNext'); });
        $('#btnOk').bind('keyup', 'down', function(event) { myClick('btnNext'); });
        //$('#OboutImageButton1').bind('keyup', 'down', function(event) { myClick('btnNext'); });
        // up --------------------------------------------
        $(document).bind('keyup', 'up', function(event) { myClick('btnPrev'); });
        $('#txbLct').bind('keyup', 'up', function(event) { myClick('btnPrev'); });
        $('#txbQty').bind('keyup', 'up', function(event) { myClick('btnPrev'); });
        $('#btnOk').bind('keyup', 'up', function(event) { myClick('btnPrev'); });
        //$('#OboutImageButton1').bind('keyup', 'up', function(event) { myClick('btnPrev'); });
        // return ----------------------------------------
        $(document).bind('keyup', 'return', function(event) { myClick('btnOk'); });
        $('#txbLct').bind('keyup', 'return', function(event) { myClick('btnOk'); });
        $('#txbQty').bind('keyup', 'return', function(event) { myClick('btnOk'); });
        $('#btnOk').bind('keyup', 'return', function(event) { myClick('btnOk'); });
        //$('#OboutImageButton1').bind('keyup', 'return', function(event) { myClick('btnOk'); });
    });
    function myClick(buttonName) {
        //alert(buttonName);
        //Get the button the user wants to have clicked
        var btn = document.getElementById(buttonName);
        if (btn != null) { //If we find the button click it
            //alert('clicked');
            btn.click();
            event.keyCode = 0
        } else {
            alert('error');
        }
        //alert('end');
    }
</script> 

コードを使用して、ボタンクリックに関連付けられた関数を呼び出していくつかのことを行いますが、基本的には機能しますが、またはのmyClickようなボタン/キーを使用しようとすると、ページが他のボタンを呼び出すことがあります(パスしない関数で)。EnterEscmyClick

理由はありますか?

4

1 に答える 1

1

ほとんどの場合、Enter が押されたイベントは、DOM の最初の入力要素で発生しています。1 つの提案は、keydown イベントのドキュメントをリッスンし、押されたキーがエンター キーである場合は、目的のメソッドを呼び出すことです。

$(document).keypress(function(e){
    var code = e.keyCode ? e.keyCode : e.which;
    if(code == '13') //call desired method
});
于 2012-11-16T16:06:15.357 に答える