你的问题有两个:
1、[code="java"]
[/code]
这样以内联的方式绑定事件时,实际上浏览器会像类似于下面这样的方式处理:
[code="java"]
document.getElementById('id').onkeypress = function(){
return inputnumber()
}
[/code]
这样的话,在FF下你的event对象是无法获取的,因为FF里面事件对象是作为事件处理函数的第一个参数传递进去的。
2、[code="java"]
function inputnumber(){
var e = e || event ;
if(e.keyCode>47 && e.keyCode<58) //设置输入数字
{
alert(e.keyCode)
return true;
}else{
alert("请出入数字");
return false;
}
[/code]
在FF里面有keypress事件对象有“keyCode”和“charCode”属性,这里你需要使用“charCode”来获取。下面是我改的:
[code="java"]
document.getElementById('qq').onkeypress = inputnumber;
function inputnumber(ev){
var e = ev || event ;
alert(e);
var code = e.charCode || e.keyCode;
alert(code);
if(code>47 && code<58) //设置输入数字
{
alert(code)
return true;
}else{
alert("请出入数字");
return false;
}
}
[/code]
把上面的代码放到window.onload里面。
最后建议作者还是不要自己写这样的代码,浏览器兼容性是个很大的问题。采用JQuery这样的框架吧。