【发布时间】:2014-07-01 04:49:59
【问题描述】:
我有一个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 键时是否按下箭头。
【问题讨论】:
标签: javascript jquery input switch-statement readonly