防止默认浏览器按键在javaScript中使用键名而不是键代码实现键组合

防止默认浏览器按键在javaScript中使用键名而不是键代码实现键组合,javascript,jquery,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc 4,我正在创建一个web应用程序,需要在其中添加一些特定数量的按键功能。我正在从sql查询中获取这些键。由于我从DB取钥匙,因此我不能使用钥匙代码(钥匙“F”代码为“70”)。我尝试了以下代码,但它不起作用。有人能解释一下吗 <script type="text/javascript"> $(document).keyup(function (e) { if (e.key = "F" && e.altKey) {

我正在创建一个web应用程序,需要在其中添加一些特定数量的按键功能。我正在从sql查询中获取这些键。由于我从DB取钥匙,因此我不能使用钥匙代码(钥匙“F”代码为“70”)。我尝试了以下代码,但它不起作用。有人能解释一下吗

 <script type="text/javascript">
        $(document).keyup(function (e) {
        if (e.key = "F" && e.altKey) {
            alert('done');
            e.preventDefault();
        }
    })
        });
    </script>

$(文档).keyup(函数(e){
如果(e.key=“F”&&e.altKey){
警报(“完成”);
e、 预防默认值();
}
})
});

F键的键代码为70

document.getElementById('foo').onkeydown = function(e) {
    e = e || window.event;
//alert(e.keyCode);
    switch( e.keyCode || e.which) {
        case 70: // F key
        case 65: // A key
            if( e.altKey) {
            return false;
            }
    }
}
在第一个
input
和第二个
input
上单击
ALT+F
,查看差异


注:在chrome上测试

F键的键码为70

document.getElementById('foo').onkeydown = function(e) {
    e = e || window.event;
//alert(e.keyCode);
    switch( e.keyCode || e.which) {
        case 70: // F key
        case 65: // A key
            if( e.altKey) {
            return false;
            }
    }
}
在第一个
input
和第二个
input
上单击
ALT+F
,查看差异


注意:在chrome上测试

请阅读本文:请阅读本文:我不能将密钥代码用作,因为我正在从sql DB获取密钥。我不能更改数据库。因此,我只能使用特定的键字母来代替键代码。@code,在数据库中存储和检索像键代码这样的东西是非常昂贵的。它们可以很容易地存储在一个JS对象中。我不能使用密钥代码,因为我是从sql数据库获取密钥的。我不能更改数据库。因此,我只能使用特定的键字母来代替键代码。@code,在数据库中存储和检索像键代码这样的东西是非常昂贵的。它们可以很容易地存储在JS对象中。