<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<title>获取event事件 兼容 IE Mozilla Google Maxthon Opera</title>
</head>
<body>
输入数字并只能一位小数点的数字<br>
<input style="ime-mode:disabled" value="" onkeypress="return t()" onpaste="return false"/>
</body>
<script>
function t(){
//获取事件 注意:在mozilla下 出发事件的函数不能带参数
var evt = getEvent();
var rest = false;
if(evt){
rest = true;
//获取事件源的对象
var element = evt.srcElement || evt.target;
//获取事件源的对象(这里的事件源对象是 文本框)
evt = evt.keyCode || evt.charCode;
//获取 文本框的值
var text = element.value;
if(evt!=8 && evt!=13){
//按下是否是 “.” 并只允许按下一个
if(evt == 46){
if(text || text != ''){
if(!(/^\d+$/g.test(text)))
rest = false;
}else{
rest =false;
}
//按下是否是数字键 退格键 回车键
}else if(evt < 48 || evt > 57){
rest = false;
}
}
}
return rest;
}
/**
* @ 获取事件(鼠标、键盘)在火狐下触发函数不能带参数
* @ 兼容 IE Mozilla Google Maxthon Opera
* @ return key/null
*/
function getEvent(){
if(document.all){
return window.event;//IE
}else{//FF
func = getEvent.caller;
while(func != null){
var arg0 = func.arguments[0];
if(arg0)
return arg0;
func = func.caller;
}
return null;
}
}
</script>
</html>