繁体   English   中英

为什么不打印该值?

[英]Why isn't the value being printed?

这是短代码:

    <!DOCTYPE html>
    <script type="text/javascript">
    function myKeyPress(e)
    {
        var keynum;
        var list;
        if(window.event)
        {                   
            keynum = e.keyCode;
            list = keynum;
            if(list == 115)
            {
                alert("You pressed the 'S' key.");
            }
        }
    }
    </script>
    <form>
        <input type="text" onkeypress="myKeyPress(event);"/>
    </form>

当我按下一个键时,应调用myKeyPress并将事件传递给该函数。 在函数主体中,e(事件参数)应获取Keynum并获取输入值。 如果我要在键盘上按“ S”,则该值应为115。 然后,List应该具有Keynum的值,并检查list以查看其值是否等于115(应该是)。 如果是这样,它将在屏幕上的消息框中提示相应的文本。 它不会这样做。 为什么?

这是您的代码的简化版本:

function myKeyPress(e) {
    var keynum = e.which ? e.which : e.keyCode;
    alert(keynum); // Just to see all key presses, remove when done :)
    if (keynum == 115) {
        alert("You pressed the 'S' key.");
    }
}

我使用JavaScript而不使用HTML属性来绑定它:

document.getElementById('example').onkeypress = myKeyPress;

所以我添加了一个ID:

<input type="text" id="example" />

我发现这可行。 我不确定为什么要在代码中测试window.event

s键是nr 83,而不是115。

您可以使用jQuery找到类似的内容。

<script type="text/javascript">
$('#myinput').on('keyup',function(e){
 console.log(e.keyCode);
}); 
</script>

<input type="text" id="myinput" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM