keydown事件不允许在textarea中键入?

时间:2012-09-20 19:18:18

标签: jquery

使用下面的逻辑我无法在textarea中输入信息

     $(document).keydown(function(event)
     {
          var key = event.keyCode || event.which;

          if(key == tab)
          {
          } else if(key == rightArrow)
          {
          } else if(key == leftArrow)
          {
          }else
          {
          }
     });

但是使用下面的逻辑,我可以在textarea中键入信息,但tab和rightArrow和leftArrow不起作用。

     $(document).keydown(function(event)
     {
          var key = event.keyCode || event.which;

          if(key == tab)
          {
          } else if(key == rightArrow)
          {
          } else if(key == leftArrow)
          {
          }else
          {
              $(document).unbind('keydown');
          }
     });

1 个答案:

答案 0 :(得分:0)

您不能只测试tab或leftArrow或rightArrow。 You need to use keycodes.

 $(document).keydown(function(event){
     tab = 9;
     leftArrow = 37;
     rightArrow = 39;
     var key = event.keyCode || event.which;

     if(key == tab){
         console.log('tab');
     } else if(key == rightArrow){
         console.log('right');
     } else if(key == leftArrow){
         console.log('left');
     }else{
         console.log('else');
     }
});​

Check it out here.