首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JS/jQuery中的绑定箭头键

JS/jQuery中的绑定箭头键
EN

Stack Overflow用户
提问于 2009-09-09 23:37:44
回答 16查看 358.3K关注 0票数 433

如何在Javascript和/或jQuery中将函数绑定到左右箭头键?我查看了jQuery的js-hotkey插件(包装了内置的绑定函数以添加参数来识别特定的键),但它似乎不支持箭头键。

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2011-05-16 04:43:11

代码语言:javascript
运行
复制
document.onkeydown = function(e) {
    switch(e.which) {
        case 37: // left
        break;

        case 38: // up
        break;

        case 39: // right
        break;

        case 40: // down
        break;

        default: return; // exit this handler for other keys
    }
    e.preventDefault(); // prevent the default action (scroll / move caret)
};

如果您需要支持IE8,请以e = e || window.event; switch(e.which || e.keyCode) {启动函数体。

(编辑2020)

请注意,KeyboardEvent.which现在已弃用。有关检测箭头键的更现代解决方案,请参阅this example using KeyboardEvent.key

票数 562
EN

Stack Overflow用户

发布于 2009-09-09 23:48:39

代码语言:javascript
运行
复制
$(document).keydown(function(e){
    if (e.which == 37) { 
       alert("left pressed");
       return false;
    }
});

字符代码:

37 -左侧

38个以上

39 -右

40 - down

票数 459
EN

Stack Overflow用户

发布于 2009-09-09 23:49:22

您可以使用箭头键的keyCode (37、38、39和40表示左、上、右和下):

代码语言:javascript
运行
复制
$('.selector').keydown(function (e) {
  var arrow = { left: 37, up: 38, right: 39, down: 40 };

  switch (e.which) {
    case arrow.left:
      //..
      break;
    case arrow.up:
      //..
      break;
    case arrow.right:
      //..
      break;
    case arrow.down:
      //..
      break;
  }
});

检查上面的示例here

票数 109
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1402698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档