我用我使用的所有代码制作了一个jsfiddle 。
你可以看到一个我想用键盘箭头键移动的 div。如您所见,我可以使用键盘向上/向下/向左/向右移动对象。我的问题是我希望对象沿对角线移动,这意味着将上下键组合在一起。
我已经浏览了 SO,但我没有找到任何示例来解释使用箭头键处理的确切情况。任何人都可以请澄清。
提前致谢!
下面是我的 JS 代码:
$(document).ready(function(){
var obj = $("#movetest")
$(window).on({
keydown: function(e){
if ( e.keyCode == 37 ){ move( obj, "left" ); }
if ( e.keyCode == 38 ){ move( obj, "up" ); }
if ( e.keyCode == 39 ){ move( obj, "right" ); }
if ( e.keyCode == 40 ){ move( obj, "down" ); }
}
})
});
function move(obj, dir){
var curHPos = parseInt(obj.css("margin-left"),10),
curVPos = parseInt(obj.css("margin-top"),10),
newHPos = curHPos,
newVPos = curVPos,
diff = 10;
if ( dir == "left" ) { newHPos = curHPos - diff; } else
if ( dir == "right" ) { newHPos = curHPos + diff; } else
if ( dir == "up" ) { newVPos = curVPos - diff; } else
if ( dir == "down" ) { newVPos = curVPos + diff; }
obj.css({
marginLeft: newHPos,
marginTop: newVPos
});
}