在JS / jQuery中绑定箭头键
如何在Javascript和/或jQuery中将功能绑定到左右箭头? 我查看jQuery的js-hotkey插件(包装内置绑定函数以添加参数以识别特定键),但似乎不支持箭头键。
$(document).keydown(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)
});
将您的自定义代码放在相应case
和break
之间的箭头键中。
e.which
是通过jQuery规范化的,所以它适用于所有浏览器。 对于纯JavaScript方法,请将前两行替换为:
document.onkeydown = function(e) {
e = e || window.event;
switch(e.which || e.keyCode) {
(编辑2017)
如果你觉得奇怪,你可以使用e.key
而不是e.which
或e.keyCode
。 e.key
正在成为推荐的标准,允许您检查字符串: 'ArrowLeft'
, 'ArrowUp'
, 'ArrowRight'
, 'ArrowDown'
。 新的浏览器本地支持它,请点击此处。
$(document).keydown(function(e){
if (e.keyCode == 37) {
alert( "left pressed" );
return false;
}
});
字符代码:
37 - 离开
38岁以上
39 - 对
40 - 下
您可以使用箭头键的keyCode(左,上,右和下)分别为37,38,39和40:
$('.selector').keydown(function (e) {
var keyCode = e.keyCode || e.which,
arrow = {left: 37, up: 38, right: 39, down: 40 };
switch (keyCode) {
case arrow.left:
//..
break;
case arrow.up:
//..
break;
case arrow.right:
//..
break;
case arrow.down:
//..
break;
}
});
在这里检查上面的例子。
链接地址: http://www.djcxy.com/p/19523.html