我有一个Sudoku我想制作它,以便用户可以按下 Shift 键并按住它,同时使用箭头键在单元格之间上下移动。已设置的单元格为 <input>
标签与其他标签类似,但它们具有 readonly
属性。每个单元格都有一个“puzzle_cells”类和一个以“c”开头的 id,后跟它们所在的行号、“-”,然后是单元格编号。
因此,向下第三个单元格,左起第五个单元格的 ID 为“c3-5”。每个单元格都有一个 id,所以我认为可编辑的输入将具有类似这样的属性 onkeyup="shiftArrows(this)"
。我的问题是我该输入什么 shiftArrows()
?
它可能会这样开始:
var input_id = $(this).attr('id');
但是我必须测试按下 Shift 键时是否按下了箭头键。如果shift+down
按下或 shift+up
其正上方或正下方的单元格是 'readonly'
,然后它会转到正确的位置并再次检查。如果是'readonly'
,它会转到左边两个,并会像这样继续检查。如果shift+right
按下后,它将继续向右移动,直到找到空行,或者如果必须的话跳到下一行。 shift+left
也是如此.
无论如何,我可能会这样做,但我不知道如何测试在按住 Shift 键的同时是否按下了箭头。
最佳答案
这能满足您的需求吗?
if (event.shiftKey && event.which == 38) {
//shift was down when up arrow pressed
}
JS fiddle :http://jsfiddle.net/stroz/hrQEX/3/
关于javascript - 按住 Shift 键的同时按下箭头键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24502647/