如果在键盘上按下键,则跳转到特定的div

时间:2014-06-03 15:11:06

标签: javascript asp.net

我有一个.aspx页面。

我想做的是,如果我按下键盘上的“T”,那么侧面应跳转到特定的div。有办法解决这个问题吗?

我尝试使用javascript:

document.body.onkeypressed

但总是得到错误。有人可以帮忙吗?感谢

解决方案:

 function shortcut(event) {
            if (event.keyCode) {
                keycode = event.keyCode;
            }
            else {
                keycode = event.which;
            }
            switch (String.fromCharCode(keycode)) {
                case ("1"):
                    document.getElementById('TblVerfuegbareDienstleistungen').scrollIntoView();  
                    break;
                case ("2"):
                    document.getElementById('TblReservierungen').scrollIntoView();
                    break;
            }
        }

        onload = function() {
            document.body.onkeypress = function() {
                shortcut(window.event);
            }
        }  

2 个答案:

答案 0 :(得分:3)

嗯,这个用jQuery的例子。

$('body').on('keydown',function(e){
      if(e.which==84){
          $(window).scrollTop($('#divID').offset().top);
          $("#divID").focus();
      }
});

<强> FIDDLE

使用JavaScript的示例

window.onkeypress = function() {
    var x;      
    x=event.which;

   keychar=String.fromCharCode(x);
   if(keychar == "t" || keychar == "T") {
       //window.location.hash ="#div4";    // first time work but then scroll to top and hit 'T' it is not work.
       document.getElementById('div3').scrollIntoView();
   }
}

<强> FIDDLE

答案 1 :(得分:-1)

<javascript>
   window.onkeypress = function() {
      var x;
      if(window.event) // for IE8
      {
         x=event.keyCode;
      } else if(event.which)//IE9/Firefox/Chrome/Opera/Safari
      {
         x=event.which;
      }
   keychar=String.fromCharCode(x);
   if(keychar == "t" || keychar == "T") {
      alert("Key T was pressed down");
   }
   }

</javascript>