Javascript 按住shift键的同时按下箭头键
我有一个拼图,我想做它,这样用户可以按下shift键并按住它,同时使用箭头键在单元格之间上下移动。已设置的单元格与其他单元格一样是Javascript 按住shift键的同时按下箭头键,javascript,jquery,input,switch-statement,readonly,Javascript,Jquery,Input,Switch Statement,Readonly,我有一个拼图,我想做它,这样用户可以按下shift键并按住它,同时使用箭头键在单元格之间上下移动。已设置的单元格与其他单元格一样是标记,但它们具有只读属性。每个单元格都有一类“拼图单元格”和一个id,id以“c”开头,后跟它们所在的行号、一个“-”,然后是单元格号 下面第三个单元格,左边第五个单元格的id为“c3-5”。每个单元格都有一个id,因此我认为可编辑的输入将有一个类似于以下内容的属性onkeyup=“shiftArrows(this)”。我的问题是我应该在shiftArrows()中放
标记,但它们具有只读属性。每个单元格都有一类“拼图单元格”和一个id,id以“c”开头,后跟它们所在的行号、一个“-”,然后是单元格号
下面第三个单元格,左边第五个单元格的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:这能处理你想要的东西吗
if (event.shiftKey && event.which == 38) {
//shift was down when up arrow pressed
}
JS Fiddle:这能处理你想要的东西吗
if (event.shiftKey && event.which == 38) {
//shift was down when up arrow pressed
}
JS Fiddle:这能处理你想要的东西吗
if (event.shiftKey && event.which == 38) {
//shift was down when up arrow pressed
}
JS Fiddle:我可以在
onkeyup
属性中设置多个函数吗?看看我的Fiddle,它处理不同的按键,对我不起作用。此外,use可能希望使用event.which而不是event.keyCode进行跨浏览器推理,错误的Fiddle链接现在应该可以工作,请确保在结果窗格中单击以尝试。另外,根据你的建议,我改为event.which。干杯对不起,妈妈让我打麻袋我能在一个onkeyup
属性中设置多个功能吗?看看我的小提琴,它在处理不同的按键,它对我不起作用。此外,use可能希望使用event.which而不是event.keyCode进行跨浏览器推理,错误的Fiddle链接现在应该可以工作,请确保在结果窗格中单击以尝试。另外,根据你的建议,我改为event.which。干杯对不起,妈妈让我打麻袋我能在一个onkeyup
属性中设置多个功能吗?看看我的小提琴,它在处理不同的按键,它对我不起作用。此外,use可能希望使用event.which而不是event.keyCode进行跨浏览器推理,错误的Fiddle链接现在应该可以工作,请确保在结果窗格中单击以尝试。另外,根据你的建议,我改为event.which。干杯对不起,妈妈让我打麻袋我能在一个onkeyup
属性中设置多个功能吗?看看我的小提琴,它在处理不同的按键,它对我不起作用。此外,use可能希望使用event.which而不是event.keyCode进行跨浏览器推理,错误的Fiddle链接现在应该可以工作,请确保在结果窗格中单击以尝试。另外,根据你的建议,我改为event.which。干杯对不起,妈妈叫我睡觉