<script>
function MoveNext(e, obj) {
if (!e) var e = window.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
if (code == 13) {
document.getElementById(obj).focus();
return false;
}
</script>
以上代码在IE中工作但在mozilla中没有用
答案 0 :(得分:0)
返回键的最佳代码究竟取决于您正在侦听的键盘事件(keydown,keyup,keypress)。对于按键,您可以这样做:
function MoveNext(e, obj) {
e = e || window.event;
var code = e.which || e.keyCode;
if (code == 13) {
document.getElementById(obj).focus();
}
}
注意:我已删除您的本地变量e
,因此它不会与参数e
混淆,并且我已将code
定义为您拥有的局部变量一个隐含的全局变量(从来不是一件好事)。
有关此处所述的跨浏览器密钥处理的更多信息:keycode and charcode。
答案 1 :(得分:0)
更改
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
到
code = (e.keyCode)? e.keyCode: e.charCode;
并确保在调用它时将事件传递给moveNext,因为只有在您从函数中明确发送事件时,firefox才会识别事件。
如果您正在执行keydown的对象是div,则将tabindex添加为0,以便它可以检索焦点。
<div id="mydiv" tabindex="0"></div>