…
在一个表中,我通过改变行样式来模拟选定的行。现在我想通过箭头键移动这个选定的行,但是keydown事件在Chrome和Firefox中不起作用。
我不想使用JQuery。
也(如果可能的话),因为我渲染这个表在服务器端在一个复杂的过程中,最好使用内联事件处理程序不附加与javascript(我的意思是使用
我不认为你应该在表行上使用onkeydown。行上的Keydown只有在其中有input元素时才有效。否则他们无法集中注意力。
我不知道那在你的情况下是否可行,但你可以这样试试。如果你不想用jQuery的话你需要稍微修改一下浏览器不支持querySelector:
document.body.addEventListener('keydown',function(ev){
var trs = document.querySelector('.s');
if(ev.keyCode == 38 && trs.previousSibling){
trs.className = '';
trs.previousSibling.className = 's';
}else if(ev.keyCode == 40 && trs.nextSibling){
trs.className = '';
trs.nextSibling.className = 's';
}
})
http://jsfiddle.net/FvgaE/