我有代码,如果我按下按钮它会转到下一个文本字段,但转到上一个文本字段应该是代码...
<html>
<head>
<script language="JavaScript">
function handleKeyDownEvent(elementRef,eventRef)
{
var charCode = (window.event) ? eventRef.keyCode : eventRef.which;
//alert(charCode);
// Arrow keys (37:left, 38:up, 39:right, 40:down)...
if (charCode == 40)
{
if (window.event)
window.event.keyCode = 9;
else
event.which = 9;
return true;
}
return true;
}
</script>
</head>
<body>
<table width="433" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="235" align="center"><input type="text" onKeyDown="handleKeyDownEvent(this,event);" onKeyUp="handleKeyUpEvent(this,event);"></td>
<td width="235" align="center"><input type="text" onKeyDown="handleKeyDownEvent(this,event);" onKeyUp="handleKeyUpEvent(this,event);"></td>
</tr>
<tr>
<td width="235" align="center"><input type="text" onKeyDown="handleKeyDownEvent(this,event);" onKeyUp="handleKeyUpEvent(this,event);"></td>
<td width="235" align="center"><input type="text" onKeyDown="handleKeyDownEvent(this,event);" onKeyUp="handleKeyUpEvent(this,event);"></td>
</tr>
<tr>
<td>
<input type="radio" id="check" name="check" checked>
</td>
<td>
<input type="radio" id="check" name="check" checked>
</td>
</tr>
<tr>
<td><input type="checkbox" id="check" name="check"></td>
<td><input type="checkbox" id="check" name="check"></td>
</tr>
</table>
</body>
</html>
答案 0 :(得分:1)
您可能需要阅读discussion about that here ...他们修复了类似的问题。
答案 1 :(得分:0)
在您的代码中,keyCode 9正在模拟按“tab”键。基本上你要做的就是向后模拟'shift'+'tab'。 Shift的代码为16,因此请在相似的行上方添加window.event.keyCode = 16;
行9,并在另一行之上添加event.which = 16;
。
如果这不起作用,您可能需要以某种方式将它们链接在一起,以便与shift-key事件关联的键盘事件触发模拟按Tab键。这可以通过在您已有的事件之前或之后添加另一个事件处理程序来完成。处理程序应该与您已有的处理程序类似,但是将其更改为keyUp处理程序并检查键16而不是40。