如何在asp.net Web表单中捕获“F2”键

时间:2011-08-31 08:32:29

标签: javascript jquery asp.net webforms

在我的网络应用程序中,当用户按 F2 键时,我想打开一个新页面。

我发现使用Java脚本是可能的,所以我用Java脚本编写了一些代码,但它只在Firefox中运行,它不能用于Ie或Chrome。

有人可以检查吗?

非常感谢

    <body onkeypress="onkeydown(event)" >

    <script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
       function onkeydown(e) {
            var intKey;
            if(window.event)
            {   
                intKey  = e.keycode     

            }
            else 
            {               
                intKey = e.which;
            }         

          if(intKey == 113)
          {
             window.open("HelpFile/index.html");
          }           

        }
    </script>

工作代码

    <script src="jquery-1.4.2.min.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">

    document.onkeydown = function(event){
    if(window.event && window.event.keyCode == 113)
    {
        window.open("HelpFile/index.html");
    }
    else if(event.which == 113)
    {
         window.open("HelpFile/index.html");
    }

    }
</script>

3 个答案:

答案 0 :(得分:4)

由于您使用的是jQuery,请使用jQuery:

$(document).keydown(function (event) {
    var f2Key = 113;
    if (event.which == f2Key) {
        alert('you pressed F2');
    }
});

我发现通过使用像113这样命名良好的变量来记录f2Key这样的幻数有用。

答案 1 :(得分:1)

document.onkeydown = function(){
if(window.event && window.event.keyCode == 122) 
{
alert(window.event.keyCode + " is pressed");
}

答案 2 :(得分:1)

应该是e.keyCode而不是e.keycode