6

EnterkeyCode(13)はすべてのブラウザで正常に動作します。

Chrome でテストしたスペース バーkeyCode(32)は正常に動作しますが、Firefox では応答しません。次のコードを使用しました。

<script type="text/javascript" >
    function enterPressed(evn) {
        var e_id = $('e_id').value;
        var e_fname = $('e_fname').value;
        var e_role = $('e_role').value;

        if (window.event && window.event.keyCode == 13) {
            Monitor.Order.assign(e_id, e_fname, e_role);
        } else if (evn && evn.keyCode == 13) {
            Monitor.Order.assign(e_id, e_fname, e_role);
        } else if (evn && evn.keyCode == 32) {
            Monitor.Order.updateStatus('COOKED');
        }                       
    }
    document.onkeypress = enterPressed;     
</script>

Chrome では機能するのに Firefox では機能しないのはなぜですか?

4

2 に答える 2

5

スペースは印刷可能な文字であるため、keypress イベントにはcharCode対応する文字keyCodeが設定され、Firefox の keypress イベントには設定されません。

一般に、キープレス、キーアップ/charCodeキーダウンで印刷可能なものに使用したいと考えています。keyCode

于 2012-12-25T23:21:03.277 に答える
0

このコードを試してみてください....

function enterPressed(evn) {
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x 

        var e_id = $('e_id').value;
        var e_fname = $('e_fname').value;
        var e_role = $('e_role').value;

        if (evn.which == 13) {
            Monitor.Order.assign(e_id, e_fname, e_role);
        } else if (evn.which == 13) {
            Monitor.Order.assign(e_id, e_fname, e_role);
        } else if (evn.which == 32) {
            Monitor.Order.updateStatus('COOKED');
        }                
    }

     else{
            var e_id = $('e_id').value;
            var e_fname =$('e_fname').value;
            var e_role = $('e_role').value;

            if (window.event && window.event.keyCode == 13) {
                Monitor.Order.assign(e_id, e_fname, e_role);
            } else if (evn && evn.keyCode == 13) {
               Monitor.Order.assign(e_id, e_fname, e_role);
            } else if (evn && evn.keyCode == 32) {
                Monitor.Order.updateStatus('COOKED');
            }  

        }
    }
    document.onkeypress = enterPressed;  
于 2012-12-25T11:17:29.257 に答える