<html>
<head>
<script>
function hen(evt){
evt = window.event||evt;
var code;
if (document.all){
code = evt.keyCode;
if( code&&(code <48 ||code >57)){
evt.returnValue = false;//在IE中 预防默认事件的发生 需要将事件对象的returnValue属性设置为false;
}
}
else{
code = evt.charCode;
if(code &&(code <48 ||code >57)){
evt.preventDefault();
}
}
}
</script>
</head>
<body>
<form>
只能输入数字<input type="text" id="a" onkeypress="hen(event)"><p>
可以输入任何字符<input type="text" id="b">
<p>
<div style="width:600px;height:190px;border:1px solid blue;padding:5px;font-size:12px;">
keyCode和charCode的区别:<p>
IE里没有charCode属性 ,它的含义是这样的:<br/>
对于keypress事件,表示按下按钮的Unicode字符;对于keydown/keyup事件,表示按下按钮的数字代号。<br/>
FF里2个属性都有 charCode表示 按下按钮的Unicode值,keyCode表示按下按钮的数字代号。<br/><p>
可见 在keypress事件时,IE里的keyCode==FF里的charCode<br/>
keydown/keyup事件时,IE里的keyCode==FF里的keyCode<br/>
</div>
</body>
</html>