空格键keyCode(32)在Mozilla Firefox上不起作用

Space bar keyCode(32) not working on Mozilla Firefox

本文关键字:Mozilla Firefox 不起作用 keyCode 空格键      更新时间:2023-09-26

输入keyCode(13)在所有浏览器上都可以正常工作。

空格键keyCode(32)我在Chrome上测试了工作正常,但在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>

为什么在Firefox中不能工作,而在Chrome中可以工作?

空格是一个可打印的字符,因此按键事件将把charCode设置为它所对应的字符,而keyCode将不会在Firefox的按键事件上设置。

一般来说,你想用charCode在keypress中打印的东西,keyCode在keyup/keydown。

试试这段代码,它会正常工作....

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;  
相关文章: